Forums / National / Russian / Скины и дизайн / Маленькое пояснение по "хлебным крошкам"

123>>>

Kort
#1 2011-03-11 07:45

"Хлебные крошки" aka навигационная цепочка как проблема уже обсуждались ранее на форумах. Предлагалось ввести свой отдельный тег и проч. В Cotonti Genoa 0.6.14 мы попытались решить проблему создания данного элемента, максимально сохранив при этом вид цепочки.

Сначала что мы имеем:

  1. В режиме list и page существуют теги LIST_PAGETITLE и PAGE_TITLE, которые выводят "крошки"
  2. Вывод в первой позиции крошек ссылки на главную страницу настраивается в разделе "Настройки скина"
  3. LIST_PAGETITLE и PAGE_TITLE формируются при помощи функции sed_build_catpath
  4. sed_build_catpath также "отвечает" за формирование селектов выбора разделов
  5. sed_build_catpath формирует "цепочки" и селекты с использованием разделителя PHP.cfg.separator

Что за проблема с крошками?

Проблема состоит в том, что оба вышеуказанных тега до 14-й версии формировали цепочку по схеме "ссылка - неразмеченный символ-сепаратор - ссылка - неразмеченный символ-сепаратор ... ссылка". Удалив вставку сепаратора из функции, мы получили бы очень нечитабельные селекты. Немаркированные сепараторы же не позволяют произвести с ними какие-либо действия.

Как решили?

Использовалось самое простое решение: "обернуть сепаратор" SPAN'ом. В селектах они безболезненно сохранились, а в крошках их теперь можно легко скрыть средствами CSS. Простой пример:

HTML:

<p id="crumbs">{PAGE_TITLE}</p>

CSS:

#crumbs { overflow:auto; }

#crumbs a { display:block; float:left; }

#crumbs span { display:none }

Дальше ваша фантазия + CSS3.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
jcrush
#2 2011-03-11 10:44

Я против обертки в ядре, весь код в шаблон, уже сто раз обсуждалось.

SEO блог: http://blog.stfw.ru/
esclkm
#3 2011-03-11 11:01

нуну... ты видимо не понял) говорится про то что возващает путь к категории - там код в шаблон никак не получится

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Oughtem
#4 2011-03-11 18:34

По мне, так проблемы хлебных крошек по сути нет. Проблема в том, что просто нет некоторых тегов, которые выводят нечто без ссылки. Поясню. Первый тег, который пришёл на ум {LIST_ROWCAT_TITLE}.

Этот тег выводит название раздела уже с сылкой на него. Зачем? По мне, так проще сделать тег, выводящий название раздела и тег, выводящий ссылку на раздел. В шаблоне мне совсем не впадляк один раз написать <a href="{xxx}'>yyy</a> / <a href="{ccc}'>ccc</a> настроив вид этих хлебных крошек как только моя душа пожелает.

Зачем этот изврат с ксс в ядре?

Kort
#5 2011-03-11 19:02

Вы что, Oughtem, вчера родились? Сколько шаблонов "не впадляк" можно создать для такой структуры:

1. shop

1.1. iphones

1.1.1. iphones 16

1.1.1.1. iphones 16 used

1.1.2. iphones 32

1.2. ipods

1.2.1. ipods 64

1.2.2. ipods 128

? А если их 200? Вы, ребята, похоже, просто не понимаете о чем говорите. Изврат -- это шаблон для каждого раздела и неразмеченный текст.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2011-03-11 19:09, 13 years ago)
Sergeich
#6 2011-03-11 19:15

В логический блок засунуть что-то типа такого, вот и всё что нужно:

<a href="{адрес}'>{имя}</a>

в сиене можно логику хитрую использовать, вот её и использовать.

This post was edited by Sergeich (2011-03-11 19:16, 13 years ago)
Oughtem
#7 2011-03-11 19:19

Причём тут количество ваших веток? Один тпл юзается для всех веток, в котором один раз и прописывается. Или вы под каждую ветку свой лепите?

А извращаться - это оставить в новой вещи те недаработки, о которых 300 раз говорилось при обсуждении старой.

This post was edited by Oughtem (2011-03-11 19:21, 13 years ago)
Kort
#8 2011-03-11 19:37

Что-то я не понял. Как я, прописав <a href="{xxx}'>yyy</a> / <a href="{ccc}'>ccc</a> в одном шаблоне, смогу применить его для структуры в 60 вложенных подразделов xxx, ttt, rrr и проч. и с разной степенью вложенности (т.е. 1, 2, 3 и т .д. вложения)?

Формально span ничем не хуже a, который также присутствует в данных тегах, так что "недаработки" в виде неразмеченного текста как раз и были исправлены.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2011-03-11 19:38, 13 years ago)
Oughtem
#9 2011-03-11 19:58

Глубоко сомневаюсь в том, что в инете остался кто-то, кто пытается юзать на своём сайте дерево с 60-ю вложенными подразделами. Для подобных случаев конечно можно внедрить ваше предложение. Со спортивным интересом я спорить не буду, тут уже вопрос на "получится/не получится", вместо "надо/не надо".

Однако, если посмотреть с практической стороны вопроса и учесть, что нормальный админ не разветвит себе дерево более, чем на 5 веток, то выходит, что такой админ будет иметь максимум 5 шаблонов, в которых совсем не сложно написать ручками то, что я писал выше.

И потом, меня как юзера жутко убивают такие "мелочи" как несоблюдение правил написания знаков пунктуации. Поясню - "картинка :", вместо "картинка: " (без пробела) или "Главная/новости" вместо "Главная/ новости". И насмерть убивает то, что мне надо лезть в ядро для того, чтобы это исправить. 

В коде надо рассыпать всё на маленькие кирпичики вместо того, чтоб слепить такую штуку  как {LIST_PAGETITLE} и потом не знать как её юзать, если она не так выводит, как хочется. А оформление надо писать в шаблон.

This post was edited by Oughtem (2011-03-11 20:03, 13 years ago)
Kort
#10 2011-03-11 20:30

Тише-тише. Во-первых, пользователь сайта не должен при добавлении / правке / удалении раздела метаться на ftp и править шаблоны (большинство конечных пользователей очень удивятся такой тактике). Во-вторых, нельзя вводить ограничения на 5 разделов, и считать остальных "ненормальными". В-третьих, иметь 5 шаблонов вместо одного -- это просто верх всего. В-четвертых, что за история с пробелами? Ими расстояния никто не отбивает (кроме машинисток). Установите для спана margin и все дела.

Вам домашнее задание для двух фрагментов кода:

Ваш:

<p><a href="#" title="#">Home</a> / <a href="#" title="#">Cat1</a> / <a href="#" title="#">Cat2</a>/ <a href="#" title="#">Cat3</a></p>

и мой:

<p><a href="#" title="#">Home</a> <span>/</span> <a href="#" title="#">Cat1</a> <span>/</span> <a href="#" title="#">Cat2</a> <span>/</span> <a href="#" title="#">Cat3</a></p>

Первый разделитель сделайте полужирным, для второго увеличьте размер шрифта, а последний скройте. Пример, конечно, экстремальный, но по-другому, похоже, никак не обяснишь что речь идет не об оформлении, а о разметке.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2011-03-11 20:39, 13 years ago)
Oughtem
#11 2011-03-11 20:52

Вы меня не убедили, а заморили. Внедряйте свою идею, наступайте на старые грабли, отделяйте сепараторы маргиномcrying и ориентируйтесь на юзеров, которые разветвляют себе 60 веток. Вектор вашей работы выбран чудесно.

По поводу д.з.: весьма сложно представить, что мне вдруг понадобиться проделать это всё со своей навигационной цепочкой. Хотя может ваша целевая аудитория, для которой вы выдвинули предложенное, с азартом примется решать эту задачку.

esclkm
#12 2011-03-11 21:08

тролим и сремся... как обычно)

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Kort
#13 2011-03-11 21:45

Да. Самое странное, что у товарища, похоже, одноуровневая структура, и цепочка имеет вид "Главная / Раздел". Решает он свою задачу просто и без тегов, которые я указал в лиде. И замечательно что так. Но тогда непонятно к чему он апеллировал, и чем провинились "ветвистые юзеры".

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Sergeich
#14 2011-03-12 03:21

esclkm, вот это верно замечено. господа, давайте поменьше срача, побольше конструктива. 

Вообще эту цепочку нужно строить при помощи тегов UL LI, а уж их то можно оформить как угодно через CSS.

Oughtem
#15 2011-03-12 05:21

У меня 4-уровневое дерево и решаю я этот вопрос путём внесения в ядро своих тегов. И тогда да, эта проблема решается просто и безболезненно.

Ещё раз поясню к чему я аппелировал: вы ориентируетесь на узкую группу людей, у которой возникает необходимость глубоко ветвится. Вы оставляете обёртку в ядре - это старые грабли. Вы предлагаете решать вопросы с пунктуацией средствами ксс (шик и блекс). В конечном итоге юзер получает нередактируемую цепь, в которой он может изменить только её внешний вид. Снять/добавить ссылку в цепи, поставить пробел, заменить сеператор на другой знак он не может. Вернее может, но лезет в ядро.

esclkm, меня радует, что моя персона вас интересует больше, чем данная проблема. Follow me.

123>>>