форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Override Link Mode
nck_olm_v1.4.txt
Плагин добавляет новую закладку в интерфейс администратора Textpattern и даёт вам возможность переопределить permanent link mode для любой секции. Ссылки на статьи выбранных секций будут сгенерированы (тегом txp:permlink) в соответствии с выбранной схемой. Созданные ссылки будут нормально обрабатываться без дополнительных плагинов.
Скачайте, посмотрите, скажите, что вы об этом думаете.
! Ошибка исправлена
+ Добавлено
* Улучшено/изменено
Upd: Версия 1.4
! Иногда ломался rss feed
Версия 1.3
! В некоторых ситуациях txp выводил список статей, а не отдельную статью
Версия 1.2
! Неверно сохранялись настройки если их размер превышал лимит
+ Интерфейс доступен пользователям с уровнем 1 и 2
+ Section title во всплывающей подсказке к Section name (в таблице)
+ Дополнительная информация об ошибке или выполненной операции
во всплывающей подсказке области сообщений (верхний левый угол)
* Незначительные улучшения в коде
___________________________________________________________________
А вобще всё началось с этого сообщения:
Хочу в ссылаться на статьи новостей по схеме section/id а на все остальные section/title
На статьи некоторой секции наверняка захочу ссылаться так section/category/title
Причем схема должна определяться не текущей секцией а именно секцией статьи на которую я ссылаюсь.
т.е. хочется такого: <txp:permlink mode="section_title" />
Порекомендуйте плагин.
Если zem_rewrite и sgb_url_handler на это способны, то покажите как мне реализовать ими тэг который я привёл выше.
Отредактированно Nicck (30-11-2005 12:08:27)
Неактивен
Зачем это надо?
Например мы ссылаемся на все статьи (страницы сайта) так:
section/title и имеем ссылки вида
company/about
company/history
и т.д, но вот заголовки у новостей длинные и как следствие мы имеем
news/ubijstvo-na-ulice-lenina-sredi-bela-ddnya
news/mertvyj-doktor-po-nocham-lechit-detej
и прочий бред. Мы как следствие хотим ссылаться на новости так:
news/22
news/25
(схема section/id/title c отключенной advanced option - attach titles to...)
причём хотим мы чтоб естественно мы по этим ссылкам получали нужные статьи.
Как это можно реализовать?
Ясное дело если у нас выбрана схема section/title то пытаясть получить новость по ссылке section/id/title мы получим ошибку 404 (страница не найдена).
В голову приходит мысть использовать плагин который позволит нам получать статью обращаясь к ней по любой схеме (например zem_rewrite или sgb_url_handler). Ставим. Статья начинает отдаваться. Конечно отдаются по всем настроенным схемам статьи любой секции, а хотелось бы чтоб только секция news вела себя подобным образом, хотя вобщем пока это не важно.
С 404 у этих плагинов вроде тоже не всё гладко, т.к. они сами берут на себя эту задачу. (может конечно я просто не настроил их как следует, но вы меня не наставили на пусть истинный, а я просил
Вопрос отдачи нам статьи мы допустим решили.
Теперь надо генерировать урлы. Я опять же могу ошибаться, но вроде вышеобозначенные плагины могут генерить их так как я хочу. т.е например реализуют таг <txp:zem_permlink mode="какой-то_mode">
Вот вроде задача и решена, но мне что-то не нравится. Не красиво как-то.
Вобщем написал я плагин который позволяет переопределить permanent link mode для любой секции (для одной или нескольких).
Фичи и отличия от вышеприведённого метода решения:
* вам не надо менять в шаблонах txp:permlink на другой тэг;
* формат ссыки определяется секцией статьи _на которую вы ссылаелесь_;
* удобная настройка (нет необходимости править код, режим для секции выбирается из выпадающего списка);
* схема ссылок отличная от дефолтной применяется только к выбранным секциям;
Вот завтра хелп к нему напишу и выкладу для скачивания. Если нужно конечно. Нужно?
Ещё есть мысль написать небольшую статейку вроде "пишем плагин для txp", но я не уверен, что оно вам надо. Предполагается рассмотреть принципы написания плагинов реализующих тэги (одиночный, парный, условие), плагинов изменящих поведение систтемы (обработка url, переопределение\расширение функционирования стандартных тэгов) и плагинов админ-части т.е. реализующих какой-то интерфейс взаимодействия с пользователем системы, возможно сайта. Часть можно рассмотреть на примере вышеупомянутого плагина, другую на примере планируемого (если подходящего не найду). Вот такие дела. Оно вам надо?
Неактивен
Nicck написал:
есть мысль написать небольшую статейку вроде "пишем плагин для txp", но я не уверен, что оно вам надо.
Надо. Очень надо. Переводная статья про плагины сильно устарела.
Неактивен
было очень хорошо добавить новые схемы link
Неактивен
Спасибо, Nicck, я в восторге от твоего плагина : ) очень хорошее решение
EDIT
Подброшу идейку по использованию плагина.
На сайте, где вы в основном используете режим /section/title вам может быть удобно иметь ряд статических страниц с режимом адресации /title. Если раньше нам нужно было морочить себе голову и создавать секции для таких статических страниц, то теперь мы можем просто создать секцию назвав ее например "url-only-title", применить этой секции с помощью плагина режим /title и создавать сколько угодно статических страниц с такой красивой адресацией. Это очень скусно, спасибо Ник.
Отредактированно Inspired (27-10-2005 13:34:57)
Неактивен
Inspired написал:
На сайте, где вы в основном используете режим /section/title вам может быть удобно иметь ряд статических страниц с режимом адресации /title.
А ты уверен, что это в принципе хорошая идея? Приведи пример из жизни.
Неактивен
untitledds
Вобще, я изначально решил не расширять количесво схем, т.к. для этого есть другие плагины. Не думаю, что я буду их добавлять. Сейчас плагин используем саму систему, чтоб работать с этими схемами и это приводит к тому, что при увеличении количесва схем в сисеме (хаком или официально) эти схемы станут поддерживаться и плагином, что хорошо.
Но я буду иметь в виду твоё пожелание, может когда-нибудь по пути на работу или на очереной поинтовке мне придёт в голову изящьное решение.
Inspired
Спасибо огромное за такую клёвую реакцию! Если б не ты я б может и не ответил остальным. Теперь у меня еть повод подумать о версии 1.2, кой чего прилизать, кое чего поправить.
Скажи, интерфейс в админке нужен или достаточно задания схемы для секции прямо в коде плагина (как это сделано в других плагинах подобного рода)? Дело в том, что если хранить конфиг в коде то исчезают некоторые проблемы, хотя они вполне даже решимы. Вобщем интересно мнение пользователей. Пользователя.
glebotr
Я могу привести пример, точнее расказать зачем мне вобще понадобилось писать этот плагин.
Сайт компании, как минимум, состоит из:
* Статические страницы (секция company)
* Новости (секция news)
Допустим мы используем схему /section/title и ссылки выглядят так:
- для секции company
/company/about
/company/contact
/company/history
- для секции news
/news/nash-sajt-zapushen-prinimajem-pozdravlenija
/news/pervoe-mesto-na-vystavke-izhexpo
/news/my-pomogaem-detyam-sirotam-najti-novyh-roditelej
и новостей этих будет _много_
И мне приходит в голову идея, что /company/about лучше чем /company/2/, но в то же время /news/23 лучше чем /news/my-pomogaem-detyam-sirotam-najti-novyh-roditelej
/news/23 это режим /section/id/title c отключенной опцией Attach titles to permalinks
Ну и вот, нам надо для всех опций схему /section/title а для новосей /section/id
Собсвенно наздоровье, есть плугин.
Неактивен
Нее, нужен интерфейс в админке, однозначно. Оно конечно можно пойти и в коде что-то поменять, но мы же любим чтобы все было на своих местах ; ), код в коде, настройки - в админ панели. В общем мне нравится так, как оно есть, а если будут усовершенствования, то хорошо, хоть для меня нормально работает.
glebotr, это не просто хорошая идея, это спасительная идея. Зачем создавать секцию на каждую статическую страницу? к примеру, ты хочешь визуально выделить адреса сообщений в своем блоге, они у тебя будут типа /blog/posttitle, а кроме этого на твоем сайте есть странички about, deanload, contact - ставишь им соответствующий url-title и применяешь их в секцию отведенную для статических страниц. Красота!
Неактивен
Версия 1.2
Подробности в исправленном выше сообщении.
Блин, не удобно как-то. Если не справлять а новые сообщения писать то останется ссылка на старую версию. Как принято поступать то?
Неактивен
Версия 1.3
Рекомендую всем обновить плагин, если используете. Поправленный баг проявляет себя не всегда, но он есть, в версии 1.2 естественно.
Обновлять теперь буду первое сообщение, ссылка там.
Неактивен
Inspired написал:
glebotr, это не просто хорошая идея, это спасительная идея. Зачем создавать секцию на каждую статическую страницу? к примеру, ты хочешь визуально выделить адреса сообщений в своем блоге, они у тебя будут типа /blog/posttitle, а кроме этого на твоем сайте есть странички about, deanload, contact - ставишь им соответствующий url-title и применяешь их в секцию отведенную для статических страниц. Красота!
Может быть, может быть...
Тебе не приходит в голову, что если у странички адрес /about или другой на том же уровне, что у секций, то ссылка на нее по любому должна быть в основном меню (меню секций) для сохранения consistensy?
Другой вопрос, что хорошо, когда products/vacuumsucker но news/7-11-1917...
Отредактированно glebotr (16-11-2005 12:56:00)
Неактивен
Inspired написал:
а что? %-) должна так должна, в чем дело то?
Что не дело )) делать адресацию к документам типа /document-name
Неактивен
Версия 1.4.
http://textpattern.org/plugins/482/nckolm
У человека rss feed ломался.
Мне повторить не удалось, удалось только починить. )
Неактивен
Спасибо, что отметились!
Кстати, на одном сайте мне пришлось его вырубить, были какие-то проблемы непонятные. Там правда и сам txp странно пашет. И условия там... mysql5...
Но будьте бдительны! Если, что сообщайте.
Неактивен
Что-то у меня данный плагин не сработал, хотя сделал все по инструкции.
Итак, опишу свои действия.
Установил, активировал плагин.
Есть, например, секция reviews, аналогичная секции news, для которой используется страница default
В настройках сайта основной link mode - year/month/day/title/
Захожу в расширения и выставляю с помощью этого плагина link mode для секции reviews /section/title/
Для news остается year/month/day/title/, заданный по умолчанию
Я так понял, что зайдя в секцию reviews, у меня ссылки должны быть в соотв. с /section/title/, а они у меня выводятся как и в news, т.е year/month/day/title/
Страница для этих секций используется одна и та же, default, но при этом <h3><txp:permlink><txp:title /></txp:permlink></h3> в зависимости от выбранной секции должен генерить свою постоянную ссылку.
Почему этого не происходит? Где я накасячил?
Неактивен
Ты, мне кажется, не правильно понял. Плагин влияет не на ссылки в секции а на ссылки на статьи секции.
Куда ведут гененрируемые в секции reviews ссылки? На статьи какой секции?
Неактивен
Да нет, именно на статьи секции
Т.е у меня есть отдельная секция - reviews, пусть я опубликовал 5 статей в этой секции
потом я вывожу список как-то так
<txp:article_custom form="reviews_list" section="reviews" />
При этом reviews_list что-то типа
<h3><txp:permlink><txp:title /></txp:permlink></h3>
Для reviews я выставил с помощью твоего плагина /section/title/, но мне выводится список статей, в котором ссылки сделаны как /year/month/day/title/
Неактивен
Мы как следствие хотим ссылаться на новости так:
news/22
news/25
(схема section/id/title c отключенной advanced option - attach titles to...)
А как отключить "advanced option - attach titles to"???
Неактивен
/textpattern/?event=prefs&step=advanced_prefs
Admin > Preferences > Advanced preferences:
группа настроек Publish:
Attach titles to permalinks? (*) no ( ) yes
Подробнее просто некуда.
P.S. хотя, если вы дадите мне денег и пароль к админке я готов это настроить
Отредактированно Nicck (02-05-2006 16:22:59)
Неактивен
idencial написал:
Да нет, именно на статьи секции
Чтож... похоже мой трюк с переопределением поведения стандартного тэга не удался... раз не во всех случаях работает. Пока рекомендую применять какой-нить другой плагин.
Неактивен
/textpattern/?event=prefs&step=advanced_prefs
Admin > Preferences > Advanced preferences:
группа настроек Publish:
Attach titles to permalinks? (*) no ( ) yes
Спасибо большое, не знал про такую опцию.
А если я ее отключу, то у меня permalinks не будут вообще автоматом генерироваться по всему сайту?
Как в таком случае при "Attach titles to permalinks? (*) no" я смогу реализовать конструкцию
section/title и имеем ссылки вида
company/about
company/history
Неактивен