Опубликовано
Комментарии Нет

Очень часто при разработке нового плагина для textpattern нам нужно выполнить какие-то действия на сайте при его установке: создать таблицу, добавить новые параметры в раздел админ-панели “Настройки” и т. д. В Textpattern есть стандартный функционал (register_callback), чтобы это обеспечить, который позволяет очень удобно выполнять нужный PHP-код.

if (@txpinterface == 'admin') {
    add_privs('s2l_test','1,2');
    register_callback('s2l_test_install', 'plugin_lifecycle.s2l_test', 'installed');
    register_callback('s2l_test_remove', 'plugin_lifecycle.s2l_test', 'deleted');
    register_callback('s2l_test_enabled', 'plugin_lifecycle.s2l_test', 'enabled');
    register_callback('s2l_test_disabled', 'plugin_lifecycle.s2l_test', 'disabled');
}
function s2l_test_install($event, $step) {
	global $step;
	$definition = "id INT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, value VARCHAR(255) NOT NULL";
	safe_create('s2l_test_table', $definition);
}
function s2l_test_remove($event, $step) {
	global $step;
	safe_drop('s2l_test_table');
}

В примере выше есть две функции s2l_test_install и s2l_test_remove, которые вызываются при установке плагина и его удалении. Здесь у нас они при установке плагина создают таблицу s2l_test_table, а при удалении соответственно ее удаляют.

Также в textpattern`е можно исполнить код при выключении или включении плагина. Для этого выступает два коллбэка в примере s2l_test_enabled и s2l_test_disabled.

Всё как всегда просто!

Автор
Категории

Опубликовано
Комментарии Нет

Скачать s2l_getlocation_v0.1_zip.txt

Плагин позволяет определить местоположение вашего посетителя по его IP-адресу для Российской Федерации и Украины. Для определения используется сайт ipgeobase.ru.

Плагин позволяет получить такие данные как:

  • сам IP;
  • кодовое обозначение страны (для России это будет RU);
  • город;
  • область (регион);
  • широту;
  • долготу;
  • округ (край).

Плагин имеет одинарный тег и парный тег условия.

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

Установка и удаление плагина

Установка и удаление происходит стандартно, как и любой другой плагин TXP.

Тэги

Тег <txp:s2l_getlocation />

Выводит единственное значение. Это одиночный тег.

Возможные значения

IP-адрес:

name="ip"

кодовое обозначение страны:

name="country"

город:

name="city"

область (регион):

name="region"

широта:

name="lat"

долгота:

name="lng"

округ (край):

name="district"

Тег <txp:if_s2l_getlocation>…</txp:if_s2l_getlocation>

Условный тег, позволяющий проверить принадлежит ли полученное значение нужному. Это парный тег с возможностью использовать <txp:else<.

Возможные значения

IP-адрес:

name="ip"

кодовое обозначение страны:

name="country"

город:

name="city"

область (регион):

name="region"

широта:

name="lat"

долгота:

name="lng"

округ (край):

name="district"

Примеры

Код:

<txp:s2l_getlocation name="region" />

Вывод, к примеру:

Омская область

Код:

<txp:if_s2l_getlocation name="city" value="Омск">
	Да
<txp:else />
	Нет
</txp:if_s2l_getlocation>

Проверяется в каком городе посетитель сайта и если это “Омск”, то выводится “Да”. В обратном случае выводится “Нет”.

Скачать s2l_getlocation_v0.1_zip.txt

Автор
Категории ,

Опубликовано
Комментарии Нет

Скачать bot_admin_body_class_v0.11.txt

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

С появлением таких плагинов как bot_admin_body_class и bot_write_tab_customize все практически стало на свои места. Мы получили замечательную возможность скрывать любые элементы
админ-панели и передвигать их в нужное место. Это очень круто!

Для достижения идеала мне не хватало возможности редактировать отображение некоторых элементов с учетом выбранной секции. Для контент-менеджера, который будет в последствии наполнять созданный Вами сайт, просто необходимо убрать некоторые элементы. К примеру, пользовательские поля, в которых вводится объем двигателя на автомобильном блоге, нужны только в статьях той секции, где они действительно используются. В околоавтомобильных новостях это поле просто не нужно и может запутать неопытного контент-менеджера.

Решить проблему поможет немного модифицированный плагин bot_admin_body_class, который помимо всего прочего добавляет класс для body с названием секции в транслите на той странице, которая отвечает за ее редактирование в админке.

Добавление классов происходит также как и раньше, посредством JQuery.

Скачать bot_admin_body_class_v0.11.txt

Автор
Категории ,

Опубликовано
Комментарии Нет

spf_codemirror – простота работы с кодом в Textpattern

Подсветка синтаксиса при редактировании структуры шаблона Textpattern. Рекомендуем!

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

Скачать spf_codemirror

В архиве находится сам плагин (spf_codemirror.txt) для установки. Установите и активируйте его. Папку ‘codemirror’ нужно закачать в корневую папку на вашем хостинге. Дальнейшая настройка заключается в выборе темы (находится в настройки->Главные->Продвинутые настройки->CodeMirror theme). Лично мне больше нравится тема ‘eclipse’.

Оценить масштабы открывающихся возможностей можно введя в Оформление->Страницы например вот такую строчку и нажать Tab: #page>div.logo+ul#navigation>li*5>a{Item $}

Материал взят с txplife.ru

Автор

Опубликовано
Комментарии Нет

Сегодня пойдет речь о том как сделать список всех авторов вашего сайта, который будет отсортирован по количеству написанных статей. Все написано ниже для системы управления контентом – Textpatter, так как она самая лучшая и гибкая.

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

Зачем нужен список авторов?

Все, кто прибегал к такому списку, найдут массу причин, чтобы его сделать. Лично я делаю его на одном из своих сайтов для своего удобства, но подозреваю, что это удобство не только для меня, а еще для тех посетителей и авторов сайта, которые на него забредают. Конечно же этот сайт коллективный и на нем работают сразу несколько авторов. Для персонального блога, такая таблица будет излишней.

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

Я использовал именно таблицу, но можно все сделать и в виде списка. Там особых проблем нет.

Все это стало доступно только благодаря замечательному плагину от Stef Dawson под названием – smd_query.

Обладая начальными знаниями SQL-запросов, можно творить безграничные вещи. К примеру, для того, чтобы вывести такую вот таблицу, необходимо:

  1. Установить и активировать плагин smd_query, ссылка на который приведена выше.
  2. В том месте, где Вам необходимо вывести такую таблицу, необходимо вставить код:
    <table>
      <txp:smd_query query='SELECT AuthorID,count(AuthorID) as num_articles FROM textpattern WHERE AuthorID <> "" GROUP BY AuthorID ORDER BY num_articles desc LIMIT 10'>
        <tr><td>{custom_2}</td><td>{num_articles}</td></tr>
      </txp:smd_query>
    </table>
  3. После этого останется только подредактировать CSS этой таблицы и радоваться полученному результату.

Если у Вас остались какие-то вопросы, то можете задавать их ниже в комментариях. Буду рад ответить и помочь другим вебмастерам, использующих Textpattern.

Статья взята с adminway.ru

Автор

← Старые Новые →