атробут nofollow,

Раздел форума: 

Дня доброго.
Подскажите как сделать так, что бы  в drupal 8 при переходе по меню с модулем superfish не передавался вес по ссылкам, то есть вставить тег nofollow, а так же в самом друпале идет ссылка на вход для регистрации и при выводе книги? Иначе получаются сотни ссылок с каждой страницы с утекающим весом.

Версия Drupal: 

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Прикрепить
Максимальный размер файла: 128 МБ.
Разрешённые типы файлов: txt doc docx rar zip xls xlsx pdf odf odt jpg jpeg gif png psd rtf.

Наверно только кастомным

Наверно только кастомным модулем, можно это сделать, дополнительных модулей пока что нет для такого в 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.


Да, действительно, это же для

Да, действительно, это же для 7ой версии. 

Тогда попробуйте использовать вот эти хуки:
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!menu.api.php...
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Menu!menu.api.php...
http://drupal.stackexchange.com/questions/187585/what-is-the-equivalent-...

function hook_menu_links

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 - а должно быть что то другое