Изменение модели меню и новый плагин слайдшоу
09.08.2011Выложил новую 4.81 http://litepublisher.googlecode.com/files/litepublisher.4.81.zip версию, где значительно изменил модель меню. Теперь меню можно задавать в видах - появился комбобокс выбора существующих меню. По умолчанию это два меню -стандартное и админка, при включенном плагине меню из категорий еще и категории. Это сделано с прицелом на будущее. Также добавился новый класс меню - подставное меню. Подставное меню означает, что вы можете добавить произвольную ссылку в меню с любым текстом в любом порядке. Подставное меню должно использоваться для внедрения ссылок в существующее меню или формирование меню на основе существующих других страниц, например записи или рубрики. Как следствие плагин ссылок в меню устарел и удален из дистрибутива, для сайтов его использующих ничего не поменялось. Изменение масштабное и я надеюсь, что столь значительных изменений более не будет.
Также поправил тему по умолчанию -в javascript код всплывающего меню добавил следующую строку:
$("#nav a[href='" + window.location + "']").css({'font-weight': "bold"});
которая означает, что ссылка в меню совпадающая с текущей страницей будет выделена жирным цветом. Ранее в теме по умолчанию не использовался стиль current_page_item, а с учетом нововведений следует вовсе упразднить шаблон current в шаблоне меню.
Добавил новый плагин - слайдшоу на главной страницы. Плагин будет полезен для фотоблога. Плагин через 10 секунд запускает на слайдшоу, слайдшоу можно запустить быстрее кликнув ссылку после счетчика обратного времени, а также вовсе не запускать слайдшоу. Плагин простой - он добавляет текст в на главную страницу, вы можете также отредактировать вставленный текст главной руководствуясь своими соображениями.
В скрипте обновления на эту версию содержится неточностьиз за ккоторой первая попытка обновления вызовет ошибку:
Caught exception:
Class tfakemenu not found
надо просто нажат обновить страницу для повторного обновления. Либо дождаться релиза 4.82 где поправлю этот скрипт - на тестах все работало, на реальных сайтах вылезло
← Ранее Загрузка файлов поломалась
Позже Плагин постовых →
Комментарии (6) на запись “Изменение модели меню и новый плагин слайдшоу”
Оставить комментарий
Пока не обновлялся и не смотрел еще новое меню. Главное для меня как оптимизатора в меню - это возможность закрывать любую ссылку в нем rel="nofollow". В старом меню редактируя тему можно было только или закрыть все меню во всех видах или открыть.
И это касается и категорий в меню и меню самого и просто добавленной ссылки, при чем для каждого вида должен быть свой вариант.
Часто необходим вариант: на главной ссылка меню открыта, а на остальных видах в нофоллов ( иначе получается сквозняк и весь PageRank сайта стекает на нее), а некоторые ссылки типа: контакты на всех страницах в меню надо закрывать, на нее PR вообше передавать не надо, т.к это техническая страница.
Пока что при данном положении дел ничего не остается как держать все меню закрытое, думаю и в этом обновлении хотя еще его не видел ничего не изменилось.
А вынос стиля current_page_item в JS неодобряю, теперь что в скрипты придется лезть, для того чтобы bold заменить на к примеру простое изменение цвета, а при апдейте все изменения будут стираться?
Могу в будущей версии поправить шаблон меню например на
$("#nav a[href='" + window.location + "']").AddClass("current_menu_item";
собственно это решается в шаблоне темы - эта строка находится как раз рядом со строкой обработки всплывающего меню. В теме по умолчанию отсутствует класс current_page_item а в шаблоне он находится в элменте li меню. Поддержка current по прежнему остается на уровне генерации кода, но не используется по причине сложностей с определением текущей страницы в меню и кешированием меню.
В текущем варианте current_page_item и его стили в других темах мне не помогли, остановился на наиболее простом для меня варианте. Для li можно предложить вот такую строку:
$("#nav a[href='" + window.location + "']").parent().AddClass("current_page_item");
А парент это кому получается? А вот так не будет работать?
$("#nav a[href='" + window.location + "']").function (){$(this).addClass ('current_page_item');}
Не знаю у меня до этого всегда во всех темах без всяких изменений работало, и ссылки на своей странице меняли цвет, немного не понимаю зачем тут скрипт теперь.
А вот сделать возможным добавление любой ссылке nofollow по моему намного важнее подсветки, только идей пока нету у меня как это сделать.
Разницы нет - твой пример просто излишне сложнее из за дополнительной цепочки функции обратного вызова, ведь после селектора достаточно ставить addClass. parent() будет относится к li содержащему a - как в шаблоне по умолчанию, где прописан класс для li. В сегодняшнем релизе я добавил класс current_page_link чтобы не путать его с предыдущим классом
для nofollow можно придумать плагин, который бы обрабатывал меню после создания, но я им заниматься точно не буду - на мой взгляд польы от него будет с гулькин нос, а возни много
Небольшое замечание по-поводу подставного меню появилось.
Если адрес страницы написать без косой черты / в начале, то и в ссылке этот самый / не появится, соответственно, получится некорректная ссылка вида http://mysitelink, а не http://mysite/link. На мой взгляд то, что нужно прописывать вручную неочевидно и было бы лучше, чтобы слеш подставлялся автоматом.