Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

Баг в editmore.php, рецепте для PmWiki

Автор: Филипп Казаков, дата: 2008-09-17, просмотров 3292
Тэги

темы: PmWiki

Речь идет о рецепте EditMore , добавляющем удобные поля в режим редактирования, в котором обнаружился Баг.

Как обычно, причина в кириллических шрифтах. Из-за них, в русскоязычных pmwiki название страницы никогда не соответствует названию статьи в ней. Именно поэтому ссылки на сайте кодируются так: [[Group.Name|+]] , а не [[Group.Name]] , как на английских сайтах. То же относится к категориям. В моих категориях даже есть два списка: самих названий страниц для редактора (то есть для меня) и русскояычных титлов для них.

Краткая ссылка для категорий, формирующаяся как [[!ИмяКатегори]] увы не поддерживает вывод своего титла в ссылке: код [[!ИмяКатегори|+]] , уж не знаю почему, не работает. Это следовало бы знать разработчику EditMore, тогда бы он не включил в код своего плагина автоматический фильтратор, приводящий любой текст, введенный в поле для категорий, к виду [[!ИмяКатегори|+]] .

Не долго думая, я "копнул исходники" скрипта (удивительно слышать от себя такую фразу - ровно год назад слова php, java и html для меня значали почти одно и то же!), после чего изменил строчки:

318
$EMTCleanArray = array('[',']','!', '|+',
333
$EMTFixed .= '[[Category.'.$EMTM.'|+]], ';

Теперь скрипт работает корректно и выводит список ссылок по титлам категорий. Чтобы добавить к статье категории, достаточно перечислить желаемые названия страниц в соответствующем поле. Остальное скрипт достроит сам. Обратите внимание, что моя модификация работает только если ваша группа для тэгов соответствует дефолтной - Category. В противном случае вместо Category в 333й строчке нужно указать вашу группу для тэгов.

Update 2013-07-22: вообще-то я не рекомендую использовать этот рецепт. Вместо этого можно и нужно использовать мою классуную и архитектурно стройную разработку, которую я пока еще не придумал как представить. Если вам нужен рецепт для PmWiki, позволяющий легко создавать поля для режима редактирования (checkbox, текст), сделайте запрос, оставив комментарий к статье.


Оставить комментарий 


Ваше имя:
->