0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 984 Просмотров
*

Victor333

  • Давно я тут
  • 342
  • 1
Добрый вечер.
Как правильно обернуть этот код в разметку.

Код в php кусок из "Хлебных крошек". Помогите пожалуйста.

Код
<div class="breadcrumbs<?php echo $moduleclass_sfx; ?>">
<?php if ($params->get('showHere', 1))
    {
        echo '<span class="showHere">' .JText::_('MOD_BREADCRUMBS_HERE').'</span>';
    }

    // Get rid of duplicated entries on trail including home page when using multilanguage
    for ($i = 0; $i < $count; $i ++)
    {
        if ($i == 1 && !empty($list***91;$i***93;->link) && !empty($list***91;$i-1***93;->link) && $list***91;$i***93;->link == $list***91;$i-1***93;->link)
        {
            unset($list***91;$i***93;);
        }
    }

    // Find last and penultimate items in breadcrumbs list
    end($list);
    $last_item_key = key($list);
    prev($list);
    $penult_item_key = key($list);

    // Generate the trail
    foreach ($list as $key=>$item) :
    // Make a link if not the last item in the breadcrumbs
    $show_last = $params->get('showLast', 1);
    if ($key != $last_item_key)
    {
        // Render all but last item - along with separator
        if (!empty($item->link))
        {
            echo '<a href="' . $item->link . '" class="pathway">' . $item->name . '</a>';
        }
        else
        {
            echo '<span>' . $item->name . '</span>';
        }

        if (($key != $penult_item_key) || $show_last)
        {
            echo ' '.$separator.' ';
        }

    }
    elseif ($show_last)
    {
        // Render last item if reqd.
        echo '<span>' . $item->name . '</span>';
    }
    endforeach; ?>
</div>

С низу примерно как должно быть

Код
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/" itemprop="url"><span itemprop="title">Первый</span></a></div>  
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/" itemprop="url"><span itemprop="title">Второй</span></a></div> 
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/" itemprop="url"><span itemprop="title">Третий</span></a></div>
*

Arkadiy

  • Группа развития
  • 5350
  • 440
  • Крепитесь, други.
Код
<div class="breadcrumbs<?php echo $moduleclass_sfx; ?>">
<?php if ($params->get('showHere', 1))
    {
        echo '<span class="showHere">' .JText::_('MOD_BREADCRUMBS_HERE').'</span>';
    }

    // Get rid of duplicated entries on trail including home page when using multilanguage
    for ($i = 0; $i < $count; $i ++)
    {
        if ($i == 1 && !empty($list***91;$i***93;->link) && !empty($list***91;$i-1***93;->link) && $list***91;$i***93;->link == $list***91;$i-1***93;->link)
        {
            unset($list***91;$i***93;);
        }
    }

    // Find last and penultimate items in breadcrumbs list
    end($list);
    $last_item_key = key($list);
    prev($list);
    $penult_item_key = key($list);

    // Generate the trail
    foreach ($list as $key=>$item) :
    // Make a link if not the last item in the breadcrumbs
    $show_last = $params->get('showLast', 1);
    if ($key != $last_item_key)
    {
        // Render all but last item - along with separator
        if (!empty($item->link))
        {
            echo '<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="' . $item->link . '" ><span itemprop="title">' . $item->name . '</span></a></div> ';
        }
        else
        {
            echo '<span itemprop="title">' . $item->name . '</span>';
        }

        if (($key != $penult_item_key) || $show_last)
        {
            echo ' '.$separator.' ';
        }

    }
    elseif ($show_last)
    {
        // Render last item if reqd.
        echo '<span itemprop="title">' . $item->name . '</span>';
    }
    endforeach; ?>
</div>
*

Victor333

  • Давно я тут
  • 342
  • 1
а itemprop="url ?
*

Victor333

  • Давно я тут
  • 342
  • 1
Arkadiy
Сам добавил, вроде получилось! Спасибо вам, все заработало!

Код
<a href="' . $item->link . '" itemprop="url"><span itemprop="title">' . $item->name . '</span></a>
*

Beer

  • Живу я здесь
  • 1036
  • 40
  • БИРУ - БИР!
На последнем
Код
// Render last item if reqd.
echo '<div class="hide" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="' . $item->link . '" itemprop="url"><span class="hide" itemprop="title">' . $item->name . '</span></a></div>';
' . $item->link . ' не хочет выводиться - href="/"

Код
<div class="hide" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
  <a href="/" itemprop="url">
    <span class="hide" itemprop="title">Название материала</span>
  </a>
</div>

А гугль по стандарту требует:
url:   отсутствует (обязательное)

Как поправить?
*

ChaosHead

  • Профи
  • 4744
  • 398
Готовый модуль
http://extensions.joomla.org/extension/microbread

В настройках модуля есть выбор альтернативного макета: под bootstrap или под обычный HTML

Да и тут помню была тема, где я всё расписывал, в плоть до того, чтобы вывести ссылкой и последний текущий пункт крошек.
« Последнее редактирование: 22.07.2015, 12:20:59 от ChaosHead »
*

Beer

  • Живу я здесь
  • 1036
  • 40
  • БИРУ - БИР!
Что-то я подумал, что штатными средствами лучше обойтись, не привлекая сторонние плагины.
*

ChaosHead

  • Профи
  • 4744
  • 398
ну подсмотрите у них как сделано
*

Beer

  • Живу я здесь
  • 1036
  • 40
  • БИРУ - БИР!
Вот с этим и проблема: Поставил модуль этот - MicroBread. В менеджере расширений его вижу - включен, а в менеджере модулей - его почему-то нет....
*

ChaosHead

  • Профи
  • 4744
  • 398
Создайте его в менеджере модулей и опубликуйте
*

Beer

  • Живу я здесь
  • 1036
  • 40
  • БИРУ - БИР!
Вот я что-то тупанул..... сенкс за науку.

В принципе - он выводит точно так же как и штатный, допиленый здесь в теме. На последний пункт (открытый материал) он не ставит url, из-за чего Гугль говорит:
url:   отсутствует (обязательное)
*

ChaosHead

  • Профи
  • 4744
  • 398
Получи url текущей страницы, сделай ссылкой по аналогии с другими пунктами.
*

Beer

  • Живу я здесь
  • 1036
  • 40
  • БИРУ - БИР!
Аналогия не срабатывает:
Код
<a href="' . $item->link . '" itemprop="url">
В этом пункте выдает
Код
<a href="/" itemprop="url">

Моих познаний больше не хватает...
*

ChaosHead

  • Профи
  • 4744
  • 398
Ссылку на текущую страницу можете получить как $_SERVER['REQUEST_URI']
т.е. $item->link замените на $_SERVER['REQUEST_URI']
*

Beer

  • Живу я здесь
  • 1036
  • 40
  • БИРУ - БИР!
Ведь заработало!
Осталось только малеха причесать вывод.
Спасибо тебе большое ГОЛОВА!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не открывается контент по кнопке "подробнее"

Автор annik

Ответов: 2
Просмотров: 123
Последний ответ 25.08.2017, 12:14:03
от annik
Хлебные крошки - как убрать показ категорий? (Joomla 2.5)

Автор fedragon

Ответов: 65
Просмотров: 23163
Последний ответ 10.07.2017, 16:18:35
от typhoon3d
Ошибка "JTableContent: :store failed"

Автор svetlana_18

Ответов: 10
Просмотров: 1979
Последний ответ 08.06.2017, 11:14:47
от client500
Не работает регистрация/напоминание пароля, "неверный параметр"

Автор AK901

Ответов: 15
Просмотров: 5209
Последний ответ 14.05.2017, 23:13:35
от k0st1k
Как удалить заголовок "Контакт" и "Форма обратной связи"?

Автор marussia

Ответов: 41
Просмотров: 25001
Последний ответ 11.05.2017, 20:39:24
от genkey