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, и использовать модуль Атрибуты ссылок меню для других атрибутов.