Drupal - Как добавить атрибуты данных в элементы <li> меню <ul>

Это такой замечательный скрипт, который называется fullPage.js и находится здесь: https://github.com/alvarotrigo/fullPage.js

Мне удалось загрузить js-файл и css-файл и даже с модулем Void Menu удалось вызвать якорные ссылки, но я борюсь с атрибутами данных в рамках реализации этого классного кода! Любая помощь очень ценится! Как мне получить атрибуты данных для работы в Drupal 7.25? Я имею в виду, мне нужно добавить их в меню, чтобы HTML выглядел примерно так:

<ul id="menu">
    <li data-menuanchor="firstPage"><a href="#firstPage">First slide</a></li>
    <li data-menuanchor="secondPage"><a href="#secondPage">Second slide</a></li>
    <li data-menuanchor="3rdPage"><a href="#3rdPage">Third slide</a></li>
    <li data-menuanchor="4thpage"><a href="#4thpage">Fourth slide</a></li>
</ul>

Просто хочу добавить его в главное меню в Drupal. Есть идеи как? Я пытаюсь реализовать это на моей домашней странице и использую адаптивную подтему с установленным модулем Display Suite, если это помогает.

Добавили следующее в template.php, но это не имеет никакого значения:

function MY_THEME_NAME_menu_link(&$variables) {
  $variables['element']['#attributes']['data-menuanchor'] = substr($variables['element']['href'], 1);
  return theme_menu_link($variables);
}

Что я здесь не так делаю?

РЕДАКТИРОВАТЬ

Вы можете скачать тему sitemaniacs здесь: http://dream-portal.net/dpdowns/MyProblem.zip Вы можете просто скачать Adaptive Theme из Drupal здесь, а затем скопировать sitemaniacs в папку sites / all / themes, а затем просто включить тему и перейдите на свою домашнюю страницу.

Существует также папка с именем fullPage, которая является примером того, как она прекрасно работает без Drupal.

Файлы для записи:

/sites/all/themes/sitemaniacs/scripts/custom.js
/sites/all/themes/sitemaniacs/template.php
/sites/all/themes/sitemaniacs/css/example2.css
/sites/all/themes/sitemaniacs/sitemaniacs.info

Дайте мне знать, если вам нужно что-нибудь еще, к?

И благодарю вас!!! Что я сделал, так это создал 4 базовых страницы и с помощью модуля класса полевого форматера присвоил полю тела класс (при управлении отображением), определенный как section, чем присвоено титульный лист. Чем я использовал HTML в другом типе узла и использовал модуль NodeBlock, чтобы вывести его как пункт меню внутри Menu Bar раздел блоков, с URL <front>, Дайте мне знать, если вам нужно что-то еще для этого, но я не могу заставить его работать, используя этот простой подход. Я также попробовал множество способов сделать это, но мне это не помогло. Если вы найдете метод, который работает, или, возможно, что-то не так в другом месте, пожалуйста, дайте мне знать... Я вырываю свои волосы на этом.

Попробовал прямой HTML, и теперь получаю это:

Uncaught TypeError: Cannot read property 'top' of undefined    jquery.fullPage.js?mzf0rp:506
scrollPage       jquery.fullPage.js?mzf0rp:506
doneResizing       jquery.fullPage.js?mzf0rp:889

Первая ошибка, кажется, происходит в scrollPage Функция на этой линии здесь:

var dtop = dest !== null ? dest.top : null;

Похоже dest.top не определено на .top, Есть идеи почему?

1 ответ

Используйте модуль Атрибуты Связи Меню, который позволит вам добавлять пользовательские атрибуты для каждого пункта меню.

Для "href" вы можете использовать <'front'>#4thpage(front без каких-либо "cotation") в пути в меню, которое вы создаете в Structure > Menus, и использовать модуль Атрибуты ссылок меню для других атрибутов.

Другие вопросы по тегам