Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 28-03-2006 10:59:39

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Расширение функционала стандартных тэгов

Небольшая библиотечка тэгов.

присутствуют тэги
txp:rus_article_image
    атрибуты:
    style
    class
    height
    width
    link - залинковывать ли превью на картинку? (если = "y", то залинковывается)
    align
подробно не расшифоровываю, думаю, и так все понятно.

txp:rus_body
    атрибуты:
    deletep ="y"- убрать начальный и завершающие < p >;
    limit - ограничить вывод заданным количеством символов;


txp:rus_excerpt
    атрибуты:
    такие же, как и у rus_body


txp:rus_if_article_image
    проверяет есть ли картинка для статьи?
    обыкновенный условный тэг

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

# rus_tag_library v0.5
# Paste the following text into the 'Install plugin' box:
# ......................................................................

YTo5OntzOjc6InZlcnNpb24iO3M6MzoiMC41IjtzOjY6ImF1dGhvciI7czo2OiJFdmdlbnki
O3M6MTA6ImF1dGhvcl91cmkiO3M6NDQ6Imh0dHA6Ly90ZXh0cGF0dGVybi5ydS9mb3J1bS9w
cm9maWxlLnBocD9pZD0zIjtzOjExOiJkZXNjcmlwdGlvbiI7czo4Njoi0JXRgdC70Lgg0L/Q
vtC00YXQvtC00Y/RidC10LPQviDQv9C70LDQs9C40L3QsCDQvdC10YIsINGC0L4g0LzRiyDQ
tdCz0L4g0L3QsNC/0LjRiNC10LwiO3M6NDoidHlwZSI7aTowO3M6NDoibmFtZSI7czoxNToi
cnVzX3RhZ19saWJyYXJ5IjtzOjQ6ImhlbHAiO3M6MTA5Njoi0LfQtNC10YHRjCDQtNC+0LvQ
ttC90LAg0LHRi9GC0Ywg0L/QvtC80L7RidGMINC/0L4g0L/Qu9Cw0LPQuNC90YM8YnIgLz4K
CTxiPgoJ0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQsNGC0YDQuNCx0YPRgtGLINCy
INGC0Y3QsyBhcnRpY2xlX2ltYWdlPGJyIC8+CgnQstGL0LfQvtCyOiA8IHR4cDpydXNfYXJ0
aWNsZV9pbWFnZSAvPjxiciAvPgoJPC9iPgoJPGJyIC8+CgnQsNGC0YDQuNCx0YPRgtGLOjxi
ciAvPgoJCQlzdHlsZTxiciAvPgoJCQljbGFzczxiciAvPgoJCQloZWlnaHQ8YnIgLz4KCQkJ
d2lkdGg8YnIgLz4KCQkJbGluayAtINC30LDQu9C40L3QutC+0LLRi9Cy0LDRgtGMINC70Lgg
0L/RgNC10LLRjNGOINC90LAg0LrQsNGA0YLQuNC90LrRgz8gKNC10YHQu9C4ID0gInkiLCDR
gtC+INC30LDQu9C40L3QutC+0LLRi9Cy0LDQtdGC0YHRjyk8YnIgLz4KCQkJYWxpZ248YnIg
Lz4KCTxiciAvPjxiciAvPjxiciAvPgoJPGI+CgnQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3R
i9C1INCw0YLRgNC40LHRg9GC0Ysg0LIg0YLRjdCzIGJvZHk8YnIgLz4KCdCy0YvQt9C+0LI6
IDwgdHhwOnJ1c19ib2R5IC8+PGJyIC8+Cgk8L2I+CgnQsNGC0YDQuNCx0YPRgtGLOjxiciAv
PgoJCQlkZWxldGVwID0ieSItINGD0LHRgNCw0YLRjCDQvdCw0YfQsNC70YzQvdGL0Lkg0Lgg
0LfQsNCy0LXRgNGI0LDRjtGJ0LjQtSA8IHAgPjxiciAvPgoJCQlsaW1pdCAtINC+0LPRgNCw
0L3QuNGH0LjRgtGMINCy0YvQstC+0LQg0LfQsNC00LDQvdC90YvQvCDQutC+0LvQuNGH0LXR
gdGC0LLQvtC8INGB0LjQvNCy0L7Qu9C+0LI8YnIgLz4KCTxiciAvPjxiciAvPgo8Yj4KcnVz
X2V4Y2VycHQJPGJyIC8+CjwvYj4KCdCw0L3QsNC70L7Qs9C40YfQtdC9IHJ1c19ib2R5Cgk8
YnIgLz4KCTxiciAvPjxiciAvPgo8Yj4KCXJ1c19pZl9hcnRpY2xlX2ltYWdlPGJyIC8+Cjwv
Yj4KCdC/0YDQvtCy0LXRgNGP0LXRgiDQtdGB0YLRjCDQu9C4INC60LDRgNGC0LjQvdC60LAg
0LTQu9GPINGB0YLQsNGC0YzQuD8JPGJyIC8+CgnQvtCx0YvQutC90L7QstC10L3QvdGL0Lkg
0YPRgdC70L7QstC90YvQuSDRgtGN0LMJPGJyIC8+Cgk8YnIgLz4KCTxiciAvPjxiciAvPiI7
czo0OiJjb2RlIjtzOjM0MjM6IglmdW5jdGlvbiBydXNfYXJ0aWNsZV9pbWFnZSgkYXR0cykK
CXsKCQlnbG9iYWwgJHRoaXNhcnRpY2xlLCRpbWdfZGlyOwoJCWV4dHJhY3QobEF0dHMoYXJy
YXkoCgkJCSdzdHlsZScgPT4gJycsCgkJCSdjbGFzcycgPT4gJycsCgkJCSdoZWlnaHQnID0+
ICcnLAoJCQknd2lkdGgnID0+ICcnLAoJCQknbGluaycgPT4gJycsCgkJCSdhbGlnbicgPT4g
JycKCQkpLCRhdHRzKSk7CgoJCSR0aGVpbWFnZSA9ICgkdGhpc2FydGljbGVbJ2FydGljbGVf
aW1hZ2UnXSkgPyAkdGhpc2FydGljbGVbJ2FydGljbGVfaW1hZ2UnXSA6ICcnOwoKCQlpZiAo
JHRoZWltYWdlKSB7CgoJCQlpZiAoaXNfbnVtZXJpYygkdGhlaW1hZ2UpKSB7CgkJCQkkcnMg
PSBzYWZlX3JvdygiKiIsJ3R4cF9pbWFnZScsImlkPSckdGhlaW1hZ2UnIik7CgkJCQlpZiAo
JHJzKSB7CgkJCQkJZXh0cmFjdCgkcnMpOwoJCQkJCWlmICghZW1wdHkoJGhlaWdodCkpIHsK
CQkJCQkJJGg9JGhlaWdodDsKCQkJCQl9CgkJCQkJaWYgKCFlbXB0eSgkd2lkdGgpKSB7CgkJ
CQkJCSR3PSR3aWR0aDsKCQkJCQl9CgkJCQkJJGlfdXJsPSciJy5odS4kaW1nX2Rpci4nLycu
JGlkLiRleHQuJyInOwoKCQkJCQkkb3V0ID0gYXJyYXkoCgkJCQkJCSc8aW1nJywKCQkJCQkJ
J3NyYz0nLiRpX3VybCwKCQkJCQkJJ2hlaWdodD0iJy4kaC4nIiB3aWR0aD0iJy4kdy4nIiBh
bHQ9IicuJGFsdC4nIicsCgkJCQkJCSghZW1wdHkoJHN0eWxlKSkgPyAnc3R5bGU9IicuJHN0
eWxlLiciJyA6ICcnLAoJCQkJCQkoIWVtcHR5KCRjbGFzcykpID8gJ2NsYXNzPSInLiRjbGFz
cy4nIicgOiAnJywKCQkJCQkJKCFlbXB0eSgkYWxpZ24pKSA/ICdhbGlnbj0iJy4kYWxpZ24u
JyInIDogJycsCgkJCQkJCScgLz4nCgkJCQkJKTsKCQkJCQkkaW1nX3N0cj1qb2luKCcgJywk
b3V0KTsKCQkJCQlpZiAoJGxpbmsgPT0gInkiKSB7CgkJCQkJCSRpbWdfc3RyPSc8YSBocmVm
PScuJGlfdXJsLic+Jy4kaW1nX3N0ci4nPC9hPic7CgkJCQkJfQoJCQkJCXJldHVybiAkaW1n
X3N0cjsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXJldHVybiAnPGltZyBzcmM9IicuJHRoZWlt
YWdlLiciIGFsdD0iIiAvPic7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gcnVzX2JvZHkoJGF0
dHMpCgl7CgkJZ2xvYmFsICR0aGlzYXJ0aWNsZTsKCQlleHRyYWN0KGxBdHRzKGFycmF5KAoJ
CQknbGltaXQnID0+ICcnLAoJCQknZGVsZXRlcCcgPT4gJycKCQkpLCRhdHRzKSk7CgoJCSRi
b2R5X3N0cj0kdGhpc2FydGljbGVbJ2JvZHknXTsKCQkkYm9keV9zdHI9dHJpbSgkYm9keV9z
dHIpOwoJCWlmICgkZGVsZXRlcD09InkiICkgewoJCQkvLyDQvdCw0LTQviDRg9Cx0YDQsNGC
0Ywg0L3QsNGH0LDQu9GM0L3Ri9C1INC4INC60L7QvdC10YfQvdGL0LUgPHA+INC10YHQu9C4
INC10YHRgtGMINGC0LDQutC+0LLRi9C1CgkJCSR0bXA9c3Vic3RyKCRib2R5X3N0ciwgMCwg
Myk7CgkJCWlmICggJHRtcD09IjxwPiIgKXsKCQkJCSRib2R5X3N0cj1zdWJzdHIoJGJvZHlf
c3RyLDMpOwoJCQl9CgkJCSRsID0gc3RybGVuKCRib2R5X3N0cik7CgkJCSR0bXA9c3Vic3Ry
KCRib2R5X3N0ciwkbC00LCA0KTsKCQkJaWYgKCR0bXA9PSI8L3A+Iil7CgkJCQkkYm9keV9z
dHI9c3Vic3RyKCRib2R5X3N0ciwwLCAkbC00KTsKCQkJfQoJCX0KCQlpZiAoJGxpbWl0ID4g
MCApIHsKCQkJJGJvZHlfc3RyPXN0cmlwX3RhZ3MoJGJvZHlfc3RyKTsKCQkJJGwgPSBzdHJs
ZW4oJGJvZHlfc3RyKTsKCQkJaWYgKCAkbCA+ICRsaW1pdCApIHsKCQkJCWZvcigkaT0kbGlt
aXQtMTsgJGkgPjA7ICRpLS0gKSB7CgkJCQkJaWYgKCAkYm9keV9zdHJbJGldID09ICcgJyB8
fCAkYm9keV9zdHJbJGldID09ICchJyB8fAoJCQkJCQkkYm9keV9zdHJbJGldID09ICc/JyB8
fCRib2R5X3N0clskaV0gPT0gJy4nIHx8JGJvZHlfc3RyWyRpXSA9PSAnLCcgfHwKCQkJCQkJ
JGJvZHlfc3RyWyRpXSA9PSAnLScgfHwgJGJvZHlfc3RyWyRpXSA9PSAnOycgfHwgJGJvZHlf
c3RyWyRpXSA9PSAnOicgKSB7CgkJCQkJCWJyZWFrOwoJCQkgICAgCX0KCQkJCX0KCQkJCSRs
aW1pdD0kaSsxOwoJCQkJJGJvZHlfc3RyPXN1YnN0cigkYm9keV9zdHIsMCwgJGxpbWl0KTsK
CQkJCSRib2R5X3N0cj0kYm9keV9zdHIuIuKApiI7CgkJCX0KCQl9CgkJcmV0dXJuICRib2R5
X3N0cjsKCX0KCglmdW5jdGlvbiBydXNfZXhjZXJwdCgkYXR0cykKCXsKCQlnbG9iYWwgJHRo
aXNhcnRpY2xlOwoJCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJCSdsaW1pdCcgPT4gJycsCgkJ
CSdkZWxldGVwJyA9PiAnJwoJCSksJGF0dHMpKTsKCgkJJGJvZHlfc3RyPSR0aGlzYXJ0aWNs
ZVsnZXhjZXJwdCddOwoJCSRib2R5X3N0cj10cmltKCRib2R5X3N0cik7CgkJaWYgKCRkZWxl
dGVwPT0ieSIgKSB7CgkJCSR0bXA9c3Vic3RyKCRib2R5X3N0ciwgMCwgMyk7CgkJCWlmICgg
JHRtcD09IjxwPiIgKXsKCQkJCSRib2R5X3N0cj1zdWJzdHIoJGJvZHlfc3RyLDMpOwoJCQl9
CgkJCSRsID0gc3RybGVuKCRib2R5X3N0cik7CgkJCSR0bXA9c3Vic3RyKCRib2R5X3N0ciwk
bC00LCA0KTsKCQkJaWYgKCR0bXA9PSI8L3A+Iil7CgkJCQkkYm9keV9zdHI9c3Vic3RyKCRi
b2R5X3N0ciwwLCAkbC00KTsKCQkJfQoJCX0KCQlpZiAoJGxpbWl0ID4gMCApIHsKCQkJJGJv
ZHlfc3RyPXN0cmlwX3RhZ3MoJGJvZHlfc3RyKTsKCQkJJGwgPSBzdHJsZW4oJGJvZHlfc3Ry
KTsKCQkJaWYgKCAkbCA+ICRsaW1pdCApIHsKCQkJCWZvcigkaT0kbGltaXQtMTsgJGkgPjA7
ICRpLS0gKSB7CgkJCQkJaWYgKCAkYm9keV9zdHJbJGldID09ICcgJyB8fCAkYm9keV9zdHJb
JGldID09ICchJyB8fAoJCQkJCQkkYm9keV9zdHJbJGldID09ICc/JyB8fCRib2R5X3N0clsk
aV0gPT0gJy4nIHx8JGJvZHlfc3RyWyRpXSA9PSAnLCcgfHwKCQkJCQkJJGJvZHlfc3RyWyRp
XSA9PSAnLScgfHwgJGJvZHlfc3RyWyRpXSA9PSAnOycgfHwgJGJvZHlfc3RyWyRpXSA9PSAn
OicgKSB7CgkJCQkJCWJyZWFrOwoJCQkgICAgCX0KCQkJCX0KCQkJCSRsaW1pdD0kaSsxOwoJ
CQkJJGJvZHlfc3RyPXN1YnN0cigkYm9keV9zdHIsMCwgJGxpbWl0KTsKCQkJCSRib2R5X3N0
cj0kYm9keV9zdHIuIuKApiI7CgkJCX0KCQl9CgkJcmV0dXJuICRib2R5X3N0cjsKCX0KCglm
dW5jdGlvbiBydXNfaWZfYXJ0aWNsZV9pbWFnZSgkYXR0cywgJHRoaW5nKQoJewoJICAgICAg
ICBnbG9iYWwgJHRoaXNhcnRpY2xlOwoJICAgICAgICAjIGV2YWwgY29uZGl0aW9uIGhlcmUu
IGV4YW1wbGUgZm9yIGFydGljbGUgZXhjZXJwdAoJICAgICAgICAkaW1hZ2VfbnVtID0gdHJp
bSgkdGhpc2FydGljbGVbJ2FydGljbGVfaW1hZ2UnXSk7CgkgICAgICAgICRjb25kaXRpb24g
PSAoIWVtcHR5KCRpbWFnZV9udW0pKT8gdHJ1ZSA6IGZhbHNlOwoJICAgICAgICByZXR1cm4g
cGFyc2UoRXZhbEVsc2UoJHRoaW5nLCAkY29uZGl0aW9uKSk7Cgl9CiI7czozOiJtZDUiO3M6
MzI6IjY2ZDZiNWJjYjM5MGE2YzM5NzVlNDcxNGNlODc5NjY3Ijt9

# ......................................................................
Не думаю, что будут вопросы по использованию - все крайне примитивно, но если что, давайте разбираться вместе.

Отредактированно Evgeny (28-03-2006 11:00:26)

Неактивен

 

#2 28-03-2006 12:52:20

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Расширение функционала стандартных тэгов

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

Неактивен

 

#3 28-03-2006 14:39:30

Nicck
ферт
Откуда: Ижевск
Зарегистрирован: 11-05-2005
Сообщений: 536
Вебсайт

Re: Расширение функционала стандартных тэгов

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

хотелось бы заметить, что deletep='y' будет работать забавно если в тексте более одного абзаца, два например:

"<p>text text text</p> <p>text text text</p>"
превратится в
"text text text</p> <p>text text text"

т.о. нахожу это решение неприемлимым и предлагаю аттрибут deletep убрать. wink

Неактивен

 

#4 29-03-2006 14:54:21

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Расширение функционала стандартных тэгов

Nicck написал:

хотелось бы заметить, что deletep='y' будет работать забавно если в тексте более одного абзаца, два например:

"<p>text text text</p> <p>text text text</p>"
превратится в
"text text text</p> <p>text text text"

т.о. нахожу это решение неприемлимым и предлагаю аттрибут deletep убрать. wink

Функции специфичные, согласен, хотя limit в body по умолчанию не помешал бы, но тогда разработчики столкнулись бы с проблемой локализаций. не все там однозначно. Мое решение кривовато, но для кириллицы работает.

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

Например тот же атрибут deletep нужен крайне редко (но вот случилось так, что мне он понадобился), и человек, использующий его четко должен знает правила его использования.

Во избежание недоразумений - приведу пример,  как его использую.

Код:

<p>
<txp:rus_body deletep="y" limit="300" /> <a href="<txp:permlink />" title="дальше...">&raquo;</a>
</p>

Неактивен

 

#5 03-02-2007 19:00:30

glebotr
ять
Зарегистрирован: 25-06-2005
Сообщений: 1974
Вебсайт

Re: Расширение функционала стандартных тэгов

Ух ты. А мне б плагин, который бы, наоборот, выяснял, есть ли Р, и если нет -- ставил smile


Пх’нглуи мглв’нафх Ленин Красная площадь вгах’нагл фхтагн
(В своем доме на Красной площади мертвый Ленин спит, ожидая своего часа (ктулх.))

Неактивен

 

#6 03-02-2007 21:00:01

ncux
глаголь
Зарегистрирован: 30-01-2007
Сообщений: 36

Re: Расширение функционала стандартных тэгов

а у меня почему-то тег txp:rus_if_article_image не работает.. все время считает, что картинки нет

и еще мне этот плагин перекосячил кодировку у выдержки sad и троеточие, которое при слишком длинной статье ставится - теперь закорючкой sad

Отредактированно ncux (03-02-2007 21:30:40)

Неактивен

 

#7 03-02-2007 21:30:27

glebotr
ять
Зарегистрирован: 25-06-2005
Сообщений: 1974
Вебсайт

Re: Расширение функционала стандартных тэгов


Пх’нглуи мглв’нафх Ленин Красная площадь вгах’нагл фхтагн
(В своем доме на Красной площади мертвый Ленин спит, ожидая своего часа (ктулх.))

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru