Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Support for multilanguage sites, Internationalization (I18N)
well, maybe this code will help you (it's also for structured data), there are some hacks for slugs and for News Manager breadcrumbs ..


Code:
<?php if(!defined('IN_GS')){ die('you cannot load this page directly.'); } ?>
<?php if(return_page_slug()!="index") {

$links = return_i18n_breadcrumbs(return_page_slug());
$separator = ' <i class="fa fa-caret-right"></i> ';
?>
<div class="breadcrumbs">
    <div class="container" itemscope itemtype="http://schema.org/BreadcrumbList">
        <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a href="<?php echo find_url('index',null); ?>" title="Domov" itemprop="item">
                <i class="fa fa-home fa-lg"></i><span class="visuallyhidden" itemprop="name"><?php get_site_name(); ?></span>
            </a><?php echo $separator; ?>
            <meta itemprop="position" content="1"/>
        </span>
        <?php
        $n = count($links);
        for($i=0; $i<$n; $i++) {
            if($links[$i]['parent']!="") $links[$i]['parent'] = "/".$links[$i]['parent'];
            if($i==$n-1 && return_page_slug()!= "blog" || nm_is_main()) $separator = "";
            if($links[$i]['menu']!="") $title = $links[$i]['menu'];
            else $title = $links[$i]['title'];
            echo '<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">',
                    '<a href="'.rtrim($SITEURL,"/").$links[$i]['parent'].'/'.$links[$i]['url'].'" itemprop="item" title="'.$links[$i]['title'].'">',
                        '<span itemprop="name">'.$title.'</span>',
                    '</a>'.$separator,
                    '<meta itemprop="position" content="'.($i+2).'"/>',
                '</span>',"\n";
        }
        if(return_page_slug() == "blog") {
            if(nm_is_single()) {
                $all = nm_get_posts();
                foreach ($all as $post) {
                    if($post->slug == nm_post_slug(false)) {
                        echo '<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">',
                            '<a href="'.nm_post_url(false).'" itemprop="item" title="'.$post->title.'">',
                            '<span itemprop="name">'.$post->title.'</span>',
                            '</a>',
                            '<meta itemprop="position" content="'.($i+2).'"/>',
                        '</span>';
                    }
                }
            }
        }
        ?>
    </div>
</div>
<?php } ?>
Reply


Messages In This Thread
rewrite language problem - by tomkop - 2013-03-27, 06:34:44
Enhancement suggestion - by hameau - 2013-05-12, 04:17:12
Enhancement request - by hameau - 2013-06-14, 20:02:07
RE: Enhancement request - by mvlcek - 2013-06-14, 22:04:12
RE: Enhancement request - by hameau - 2013-06-14, 23:01:36
Duplicate language cookies bug - by enzy - 2013-08-20, 07:03:26
RE: Duplicate language cookies bug - by ohayo - 2013-08-20, 18:12:25
Plugin is not shown - by tosho - 2013-09-15, 12:10:37
1000 pages limit in i18n_navigation - by titus - 2014-10-13, 21:58:36
Bug found - by lbarsov - 2014-10-17, 03:41:53
Menu with picture - by Dimi - 2015-04-28, 16:05:45
RE: Support for multilanguage sites, Internationalization (I18N) - by morvy - 2015-06-08, 00:05:01
Rendering Menu in Component - by Alexander_ - 2016-05-04, 23:06:51
Meta desc for different languages - by Alexander_ - 2017-02-14, 20:29:32
Hierarchical Menus - by celextel - 2019-07-26, 16:41:47
Ri18n_navigation - by celextel - 2021-02-19, 16:07:48



Users browsing this thread: 7 Guest(s)