атробут nofollow,
Дня доброго.
Подскажите как сделать так, что бы в drupal 8 при переходе по меню с модулем superfish не передавался вес по ссылкам, то есть вставить тег nofollow, а так же в самом друпале идет ссылка на вход для регистрации и при выводе книги? Иначе получаются сотни ссылок с каждой страницы с утекающим весом.
Наверно только кастомным модулем, можно это сделать, дополнительных модулей пока что нет для такого в 8ом друпале:
https://www.drupal.org/project/menu_attributes
https://www.drupal.org/project/nofollowlist
https://www.drupal.org/project/noindex_external_links#english
Если вам когда-нибудь понадобится приписать атрибут rel со значением nofollow к ссылкам только определенного меню, т.е. меню с заданным именем, точечно, то тогда вы всегда можете воспользоваться представленным чуть ниже программным кодом, рассчитанным на Drupal 7. Рекомендую добавить данную страницу в закладки браузера.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php function druwebru_menu_link__main_menu( $parametri ) { $elementik = $parametri [ 'element' ]; $pod_menu = '' ; if ( $elementik [ '#below' ]) : $pod_menu = drupal_render( $element [ '#below' ]); endif ; $elementik [ '#localized_options' ][ 'attributes' ][ 'rel' ] = 'nofollow' ; $vivod = l( $elementik [ '#title' ], $elementik [ '#href' ], $elementik [ '#localized_options' ]); return '<li' . drupal_attributes( $elementik [ '#attributes' ]) . '>' . $vivod . $pod_menu . "</li>\n" ; } ?> |
Вставьте сниппет в файл template.php вашей темы. Имя функции переименуйте по следующему шаблону: НазваниеТемы_menu_link__МашинноеИмяМеню. К примеру касаемо листинга выше, код будет срабатывать для блока меню с именем main_menu в теме под названием druwebru.
Вставьте сниппет в файлtemplate.php
Можно немного подробнее про это? Я просто не нашел такой файл. Я так понимаю, что мне просто надо создать модуль и подключить его?
Да, действительно, это же для 7ой версии.
Тогда попробуйте использовать вот эти хуки:
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!menu.api.php/function/hook_menu_links_discovered_alter/8.2.x
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!menu.api.php/function/hook_link_alter/8.2.x
http://drupal.stackexchange.com/questions/187585/what-is-the-equivalent-of-hook-menu-alter-to-change-a-menu-item-type
function hook_menu_links_discovered_alter(&$links) {
Не могу разобраться пока ка ее подключить
Вот такая подключается без проблем:
class NofollowController extends ControllerBase {
//Метод, который возвращает render array с содержимым страницы
public function renderPage() {
$output = array();
$output['#title'] = 'Hello world title';
$output['#markup'] = 'Hello World!';
return $output;
}
}
nofollow.nofollow:
path: '/helloworld'
defaults:
_title: 'Andrey'
_controller: '\Drupal\nofollow\Controller\NofollowController::renderPage'
requirements:
_permission: 'view testpage'
Я так понимаю вот в этом проблема
::renderPage - а должно быть что то другое