Сноски в статье
Сегодня расскажу о том, как изменить офрмление ссылок в материале. Данный метод можно применить для разных целей.
Задача:
Необходимо изменить оформление сносок, чтобы к сноске в тексте было добавлен атрибут title с текстом сноски. А снизу текст сносок был светлее и меньше размером, а также над сносками должна быть горизонтальная черта.
В статьях они выглядят примерно следующим образом:
<p>текст текст текст<sup><a href="#1">1</a><p> <p>текст текст текст<sup><a href="#2">2</a><p> <p>текст текст текст<sup><a href="#3">3</a><p> <ol> <li><a name="1"></a>сноска 1</li> <li><a name="2"></a>сноска 2</li> <li><a name="3"></a>сноска 3</li> <ol>
Решение:
Во-первых, нужно создать файл notes.js (для решения данной проблемы я решил использовать JavaScript, а точнее JQuery) со следующим содержанием:
if (Drupal.jsEnabled){ $(document).ready(function(){ $("a[@href^='#']").each(function(){ if ($(this).attr("href").length > 1){ var name=$(this).attr("href").replace("#",""); var note=$("a[name='"+name+"']").parent(); $(this).attr("title",note.text()); note.css({fontSize:'.75em',color:'#333'}); note.parent().css({borderTop:'1px solid #333',paddingTop:'.25em'}); } }); }); }
- 1-я и 2-я строки стандартные;
- 3-я строка перебирает все теги a с атрибутом href с содержанием начинающимся с #, т.е. сноски;
- 4-я строка отсеевает пустые сноски;
- 5-я строка получает и сохраняет имя сноски;
- 6-я строка находит и сохраняет место куда ссылается сноска (<a name="1"></a>);
- 7-я строка устанавливает атрибут title для сноски значением тега li;
- 8-я строка устанавливает форматирование тега li;
- 9-я строка устанавливает форматирование тега ol;
Всё довольно просто для тех, кто знаком с JQuery. Для остальных есть масса полезной информации в сети Интернет.
Я не настаиваю об универсальности данного кода, так что можете использовать свой вариант.
Созданный файл нужно поместить в папку вашей темы.
Во-вторых, нужно добавить к файлу .info вашей темы следующий текст:
scripts[] = notes.js
Чтобы настройки подействовали нужно выбрать другую тему, а затем выбрать вашу. также не забываем почистить кэш.
Комментировать