Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Rdfa breadcrumb для dle 10.2 - 11.x

Тема в разделе "Хаки DLE", создана пользователем PunPun, 12 апр 2016.

12.04.16 в 12:16
21.11.16 в 22:00
14
1.480
2
  1. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    breadcrumb_dle.jpg
    Обновляем хлебные крошки для DLE 10.2 - 11.x по примеру от Google.

    Установка :

    Открываем /engine/engine.php, находим :
    PHP:
    if ($config['speedbar'] AND !$view_template ) {
       
        
    $s_navigation "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"{$config['http_home_url']}\" itemprop=\"url\"><span itemprop=\"title\">" $config['short_title'] . "</span></a></span>";

        if( 
    $config['start_site'] == AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e "";

        if (
    intval($category_id)) $s_navigation .= {$config['speedbar_separator']} " get_breadcrumbcategories intval($category_id), $config['speedbar_separator'] );
        elseif (
    $do == 'tags') {
           
            if (
    $config['allow_alt_url']) $s_navigation .= {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . "tags/\" itemprop=\"url\"><span itemprop=\"title\">" $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " $tag;
            else 
    $s_navigation .= {$config['speedbar_separator']} <span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"?do=tags\" itemprop=\"url\"><span itemprop=\"title\">" $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " $tag;

        } elseif (
    $nam_e$s_navigation .= {$config['speedbar_separator']} " $nam_e;

        if (
    $titl_e$s_navigation .= {$config['speedbar_separator']} " $titl_e;
        else {

            if ( isset(
    $_GET['cstart']) AND intval($_GET['cstart']) > ){
           
                
    $page_extra {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']);
           
            } else 
    $page_extra '';

            
    $s_navigation .= $page_extra;

        }
       
        
    $tpl->load_template 'speedbar.tpl' );
        
    $tpl->set '{speedbar}''<span id="dle-speedbar">' stripslashes $s_navigation ) . '</span>' );
        
    $tpl->compile 'speedbar' );
        
    $tpl->clear ();

    }
    Меняем на :
    PHP:
    if ($config['speedbar'] AND !$view_template ) {
       
        
    $s_navigation "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"{$config['http_home_url']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">" $config['short_title'] . "</span></a><meta property=\"position\" content=\"1\"></li>";

        if( 
    $config['start_site'] == AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e "";

        if (
    intval($category_id))
        {
            
    $cat_breadcrumb explode("|"get_breadcrumbcategories intval($category_id), $config['speedbar_separator'] ));
            
    $s_navigation .= {$config['speedbar_separator']} " $cat_breadcrumb[0];
        }
        elseif (
    $do == 'tags') {
           
            if (
    $config['allow_alt_url']) $s_navigation .= {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . "tags/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">" $lang['tag_cloud'] . "</span></a><meta property=\"position\" content=\"2\"></li> {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">" $tag "</span><meta property=\"position\" content=\"3\"></li>";
            else 
    $s_navigation .= {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"?do=tags\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">" $lang['tag_cloud'] . "</span></a><meta property=\"position\" content=\"2\"></li> {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">" $tag "</span><meta property=\"position\" content=\"3\"></li>";

        } elseif (
    $nam_e)
        {
            if(
    $dle_module == "showfull")
            {
                
    $cat_breadcrumb[1] = $cat_breadcrumb[1] + 1;
                
    $s_navigation .= {$config['speedbar_separator']} " "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$nam_e}</span><meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"></li>";
            }
            else
            {
                
    $s_navigation .= {$config['speedbar_separator']} " "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$nam_e}</span><meta property=\"position\" content=\"2\"></li>";
            }
        }

        if (
    $titl_e)
        {
            if(isset(
    $cat_breadcrumb[1]) && !is_null($cat_breadcrumb[1]))
                
    $cat_breadcrumb[1] = $cat_breadcrumb[1] + 1;
            else
                
    $cat_breadcrumb[1] = 3;
            
    $s_navigation .= {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$titl_e}</span><meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"></li>";
        }
        else {

            if ( isset(
    $_GET['cstart']) AND intval($_GET['cstart']) > ){
                
    $cat_breadcrumb[1]++;
                
    $page_extra {$config['speedbar_separator']} <li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">".$lang['news_site']." ".intval($_GET['cstart']) . "</span><meta property=\"position\" content=\"{$cat_breadcrumb[1]}\"></li>";
           
            } else 
    $page_extra '';

            
    $s_navigation .= $page_extra;

        }
       
        
    $tpl->load_template 'speedbar.tpl' );
        
    $tpl->set '{speedbar}''<ol vocab="http://schema.org/" typeof="BreadcrumbList">' stripslashes $s_navigation ) . '</ol>' );
        
    $tpl->compile 'speedbar' );
        
    $tpl->clear ();

    }
    Далее открываем /engine/modules/functions.php, находим :
    PHP:
    function get_breadcrumbcategories($id$separator="&raquo;") {
       
        global 
    $cat_info$config$PHP_SELF;
       
        if( ! 
    $id ) return;
       
        
    $parent_id $cat_info[$id]['parentid'];
       
        if( 
    $config['allow_alt_url'] ) $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";
        else 
    $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span></a></span>";
       
        while ( 
    $parent_id ) {
           
            if( 
    $config['allow_alt_url'] ) $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"" $config['http_home_url'] . get_url$parent_id ) . "/\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" {$separator} " $list;
            else 
    $list "<span itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" itemprop=\"url\"><span itemprop=\"title\">{$cat_info[$parent_id]['name']}</span></a></span>" {$separator} " $list;
           
            
    $parent_id $cat_info[$parent_id]['parentid'];

            if(
    $parent_id) {       
                if( 
    $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
            }   
        }
       
        return 
    $list;
    }
    Меняем на :
    PHP:
    function get_breadcrumbcategories($id$separator="&raquo;") {
       
        global 
    $cat_info$config$PHP_SELF$dle_module;
       
        if( ! 
    $id ) return;
       
        
    $parent_id $cat_info[$id]['parentid'];
        
    $first_id_p $parent_id;
        
    $i 1;
        while(
    $parent_id)
        {
            
    $i++;
            
    $parent_id $cat_info[$parent_id]['parentid'];
            if(
    $parent_id)
                if( 
    $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
        }
       
        
    $i += 1;
        
    $parent_id $first_id_p;
        if(
    $parent_id == 0)
        {
            
    $id_i 2;
            if(
    $dle_module == "cat")
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"2\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"2\"></li>";
            }
            else
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"2\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"2\"></li>";
            }
        }
        else
        {
            
    $id_i 3;
            if(
    $dle_module == "cat")
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"{$i}\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span itemprop=\"title\">{$cat_info[$id]['name']}</span><meta property=\"position\" content=\"{$i}\"></li>";
            }
            else
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . get_url$id ) . "/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"3\"></li>";
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$id]['name']}</span></a><meta property=\"position\" content=\"3\"></li>";
            }
        }
        while ( 
    $parent_id ) {
            
    $i--;
            if(
    $dle_module != "cat")
            {
                if( 
    $config['allow_alt_url'] ) $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"" $config['http_home_url'] . get_url$parent_id ) . "/\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span></a><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
                else 
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$parent_id]['alt_name']}\" property=\"item\" typeof=\"WebPage\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span></a><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
            }
            else
            {
                if(
    $id != $cat_info[$parent_id]['id'])
                    
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><a property=\"item\" typeof=\"WebPage\" href=\"" $config['http_home_url'] . get_url$parent_id ) . "\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span></a><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
                else
                    
    $list "<li property=\"itemListElement\" typeof=\"ListItem\"><span property=\"name\">{$cat_info[$parent_id]['name']}</span><meta property=\"position\" content=\"{$i}\"></li>" {$separator} " $list;
            }
            
    $parent_id $cat_info[$parent_id]['parentid'];
            if(
    $parent_id) {       
                if( 
    $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
            }   
        }
        return 
    $list "|" $id_i;
    }
    Далее открываем .css файл который используется где и хлебные крошки и вставляем :
    HTML:
    ol[typeof=BreadcrumbList]
    {
        display:inline-block;
        list-style:none!important;
    }
    ol[typeof=BreadcrumbList] > li
    {
        display:inline-block;
    }
    На пиво :
    1. R118095764291 - рубли
    2. U218134219019 - гривны
    3. Z228640084773 - доллары
    Автор : Gameer
     
    • Нравится Нравится x 2
  2. Marques

    PRO Users

    Регистрация:
    12 апр 2015
    Сообщения:
    1.885
    Лучших ответов:
    0
    Рейтинги:
    +693 / 3 / -0
  3. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    нихуясиэто очень глупо выглядит.
     
  4. Marques

    PRO Users

    Регистрация:
    12 апр 2015
    Сообщения:
    1.885
    Лучших ответов:
    0
    Рейтинги:
    +693 / 3 / -0
    это обычные хлебные крошки?
     
  5. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
  6. iNol

    Команда форума VIP Кинотрафик v2

    Регистрация:
    14 сен 2015
    Сообщения:
    476
    Лучших ответов:
    0
    Рейтинги:
    +306 / 0 / -0
    Ссылку категории на саму себя в крошках лечит данная конструкция?
     
  7. hostlime

    hostlime Бывалый

    Регистрация:
    10 фев 2016
    Сообщения:
    463
    Лучших ответов:
    0
    Рейтинги:
    +51 / 0 / -0
    эммм, а оно надо?:confused: как яндекс на это реагирует ?
     
  8. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    Да, это я тоже включил сюда.
     
    • Нравится Нравится x 2
  9. iNol

    Команда форума VIP Кинотрафик v2

    Регистрация:
    14 сен 2015
    Сообщения:
    476
    Лучших ответов:
    0
    Рейтинги:
    +306 / 0 / -0
    Ну норм, правда уже давно переделал отстойные стоковые крошки на схемаорг.
    http://prntscr.com/ar9g5p
     
  10. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    upload_2016-4-12_13-30-26.png
     
  11. nylmen

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 ноя 2015
    Сообщения:
    2.574
    Лучших ответов:
    0
    Рейтинги:
    +702 / 2 / -0
    А если сделаны поавки из твоего сео пака? Нада делать? И если да то поверх их?
     
  12. TopicStarter Overlay
    PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.298
    Лучших ответов:
    31
    Рейтинги:
    +3.894 / 96 / -0
    Можно заменить или дождаться когда апдейтну ту правку из пака
     
  13. sneiks

    Команда форума VIP Кинотрафик v2

    Регистрация:
    27 янв 2016
    Сообщения:
    326
    Лучших ответов:
    0
    Рейтинги:
    +55 / 1 / -0
    Спасибо! Скину на пиво за работу ;)
     
  14. evgfreeman

    VIP Кинотрафик v2

    Регистрация:
    26 апр 2016
    Сообщения:
    3.245
    Лучших ответов:
    7
    Рейтинги:
    +1.455 / 209 / -0
    Добрый вечер)
    Как это можно исправить?)
    p.s. знаю что я перфекционист такой ))
    За 10 рублей помогите :D:D:D
    upload_2016-11-21_21-31-22.png
     
  15. evgfreeman

    VIP Кинотрафик v2

    Регистрация:
    26 апр 2016
    Сообщения:
    3.245
    Лучших ответов:
    7
    Рейтинги:
    +1.455 / 209 / -0
    Никому не нужен 10 рублей что ли?
     
Яндекс.Метрика