форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Небольшая библиотечка тэгов.
присутствуют тэги
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)
Неактивен
получил вопрос - почему в таком виде в форуме опубликовано, не правильнее ли было бы в файл оформить?
Пожалуй, да, правильнее было бы - в отдельный файл положить.
Если к этой библиотечке будет интерес и будет интерес к ее расширению - так и сделаем.
С форума указанный код скопировал, на локал инстальнул, проверил - все работает.
Неактивен
Теперь, как только кто-то напишет новое сообщение длинной в каких-то 100 байт, все будут вынуждены заново вытягивать из сети килобайты этого плагина. Тупо как-то, ссылка логичнее. Я именно про mime, хелпу то тут самое место.
хотелось бы заметить, что deletep='y' будет работать забавно если в тексте более одного абзаца, два например:
"<p>text text text</p> <p>text text text</p>"
превратится в
"text text text</p> <p>text text text"
т.о. нахожу это решение неприемлимым и предлагаю аттрибут deletep убрать.
Неактивен
Nicck написал:
хотелось бы заметить, что deletep='y' будет работать забавно если в тексте более одного абзаца, два например:
"<p>text text text</p> <p>text text text</p>"
превратится в
"text text text</p> <p>text text text"
т.о. нахожу это решение неприемлимым и предлагаю аттрибут deletep убрать.
Функции специфичные, согласен, хотя limit в body по умолчанию не помешал бы, но тогда разработчики столкнулись бы с проблемой локализаций. не все там однозначно. Мое решение кривовато, но для кириллицы работает.
Еще раз обращу внимание, что тэги изначально предназначены были для внутреннего употребления.
В открытый доступ выложены в связи с высказанной на форуме просьбой.
Например тот же атрибут deletep нужен крайне редко (но вот случилось так, что мне он понадобился), и человек, использующий его четко должен знает правила его использования.
Во избежание недоразумений - приведу пример, как его использую.
<p> <txp:rus_body deletep="y" limit="300" /> <a href="<txp:permlink />" title="дальше...">»</a> </p>
Неактивен
Ух ты. А мне б плагин, который бы, наоборот, выяснял, есть ли Р, и если нет -- ставил
Неактивен
а у меня почему-то тег txp:rus_if_article_image не работает.. все время считает, что картинки нет
и еще мне этот плагин перекосячил кодировку у выдержки и троеточие, которое при слишком длинной статье ставится - теперь закорючкой
Отредактированно ncux (03-02-2007 21:30:40)
Неактивен
Ых... Вот еще: http://textpattern.org/plugins/315/tcm_if_article_image
Неактивен