---

--  ->   Интеграция дизайна, настройка системы  ->  Хлебные крошки в блоге


Вопросы по интеграции, настройке шаблонов, конфигурации системы.



Добавлено: 31.07.13 12:41:45 #1



Регистрация: 31.05.12
Сообщений: 2


Обратиться по имени

Приветствую всех пользователей Amiro CMS.
Предыстория: возникла необходимость сделать хлебные крошки внутри блога. Так как , думаю, вы уже заметили что Amiro останавливает их формирование на родительсом элементе. (ну только если это не модуль новости)
Долго мучил саппорт. Разбирался в переменных шаблонов, но безрезультатно. (если интересно, то название статьи формируется уже после того, как формируется хлебные крошки (ну если я правильно понял увиденное)
Сам саппорт посоветовал JavaScript. Я вообще с JS не в зуб ногой. В итоге родил это. (лично мне для нужд хватило)
Перед началом работы: Убедитесь что у вас подключена библиотека Jquery
Открываете страницу блога вашего сайта в браузере , жмете Ctrl+U (откроеться код страницы) Потом жмете поиск (Ctrl+F) и вбивает Jquery, если видите чтото такое <script type="text/javascript" [тут убрал пару знаков, иначе не дают разместить новость] yandex.st/jquery/1.7.2/jquery.min.js"></script> то все нормально. Если вообще не встречаете упоминание любой версии этой библиотеки, то просто впишите ее, ну например в раздел HEAD вашей страницы.

Пояснения:
.sz6 - класс блока, содержащего заголовок статьи (таков он у меня, подозреваю что и вас будет такой же, если вы где то в шаблонах это не меняли)
b#aaa2.bb - а это <b id=aaa2 class=bb>Блог</b> , в общем так называется блок содержащий слово Блог, собственно к нему мы и присобачиваем все остальное

Вот сам код.:
Лично я его вставил в HEAD страницы.
<script language="JavaScript">
  $(document).ready(function(){
{
y=window.location.pathname.split( '/' ); //[u]присваиваем 'y' массив из значение, разделенных '/'[/u]
delete y[y.length-1]; //[u] удаляем значение последнего элемента в массиве[/u]
y = y.join('/';); //[u] - собираем массив обратно в строку[/u]
};
if ($('.sz6';).length==1) // [u]проверяем равно ли количество блоков .sz6 единице (а равно оно 1 если вы находитесь в самой новости, а не в родительском разделе [/u]
{
$("b#aaa2.bb";).wrapInner($("<a href='"+(y)+"';></a>";)); //[u]оборачиваем значение блока b#aaa2.bb теками <a> с ссылкой на родительский элемент[/u]
$('#aaa2.bb';).append(' → ' ); //[u]добавляем разделитель [/u]
$('#aaa2.bb';).append($('.sz6';).text()); //[u]прибавляем к существующим хлебным крошкам название, равное заголовку новости[/u]
};
});
</script> 


P/s: Я как был ламером в JS так им и остаюсь.Я не претендую что код оптимизированный, или самый быстрый или еще какой, с помощью него я сделал что хотел. Я просто захотел поделиться им с вами, что бы сэкономить время , таким же ламерам JS как я.

Харе Кришна Харе Кришна
Кришна Кришна Харе Харе
Харе Рама Харе Рама
Рама Рама Харе Харе
Добавлено: 01.08.13 11:23:03 #2



Регистрация: 11.06.13
Сообщений: 202


Обратиться по имени

По поводу подключения библиотеки jQuery. Чтобы ее подключить, лучше зайти в
Сервис -> Настройки системы -> Локализации и открыть используемую вами локализацию,
обычно это RU. И в поле Ссылка на jQuery добавить ссылку на библиотеку:
http://yandex.st/jquery/1.7.2/jquery.min.js
Добавлено: 01.08.13 12:15:53 #3



Регистрация: 31.05.12
Сообщений: 2


Обратиться по имени

Да, спасибо.


Создать статью Ответить
ВебСтолица.РУ: создай свой бесплатный сайт!  | Пожаловаться  
Движок: Amiro CMS