Здравствуйте, подскажите, как изменить у ссылок значения, например добавить itemprop, типо как класс.
Атрибут.
Просто я все изменил уже, и li , и ol, и оберточку, но нужно именно на ссылку навесить.
Подскажите как это можно сделать, какой алтер или препроцесс.
Уже все разыскал, просто в breadcrumbs они уже прилетают обернутые с классами, и с href.
Я так понимаю они беруться из меню, но ссылки препроцессоров как брать, запутался.
Комментарии
Для schema.org я делал через theme_breadcrumb()
Смысл в том, что тоже пытался, но туда уже готовые ссылки приелтают обернутые в
<?php<a href="">?>
с классами и так далее.
Значит походу один комментарий был прав, что нужно на уровне пропроцессора ссылок делать, попробую так.
Если там можно будет поймать именно эти ссылки
Да, действительно в $breadcrumb прилетает готовая ссылка l().
Тут только распарсивать ее, и ставить свою.
<?php
l('<span itemprop="name">' . $value_content[0] . '</span>', $value_url, array('attributes' => array('itemtype' => 'http://schema.org/Thing', 'itemprop' => 'item'), 'html' => TRUE));
?>
P.S. Если найдешь препроцесс ссылки ХК, то напиши.
Вообще можно темизировать ссылки https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme_li... и соответственно есть _preprocess
Для schema.org есть https://www.drupal.org/project/schemaorg
Вообще мимо.
Причем тут хук темизации ссылок и модуль для типов материала?
Правильно все в первом комментарии.
Первый комментарий кто-то удалил. Но если вам нравится заниматься программированием - пожалуйста.
Потому что пусть твоя наркомания с хлебными крошками из блоков остаётся в твоих проектах.
И твой был второй комментарий
А какие могут быть отрицательные моменты использования блоков в хлебных крошках?
- запрос к БД
- игнорирование drupal_set_breadcrumb();
А хлебные крошки через их модули не из БД информацию берут?
Почему плохо игнорировать drupal_set_breadcrumb() ?
Нет.
Потому что "костыли" и "свой велосипед".
Как это нет? А откуда тогда если не из БД?
https://www.php.net/manual/ru/language.types.array.php
Чето не понял. В моем понимании информация может браться либо из файлов либо из БД.
Ну так в итоге то что?
Мнения разделились..
Если хотите грамотно - hook_breadcrumb(). Если все еще есть сомнения - посмотрите исходные коды https://www.drupal.org/project/path_breadcrumbs , или темы https://www.drupal.org/project/bootstrap , там точно так на хлебные крошки влияют. А чтобы совсем далеко не ходить - стандартная тема garland, файл template.php:
<?php
$output .= '<div class="breadcrumb">' . implode(' › ', $breadcrumb) . '</div>';
/**
* Override of theme_breadcrumb().
*/
function garland_breadcrumb($variables) {
$breadcrumb = $variables['breadcrumb'];
if (!empty(
$breadcrumb)) {// Provide a navigational heading to give context for breadcrumb links to
// screen-reader users. Make the heading invisible with .element-invisible.
$output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
return $output;
}
}
?>
Если только для крошек то через theme_breadcrumb, если надо темизировать ссылки например для schrema.org то через https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme_li...