WYSIWYG редактор для Textpattern. Обязателен для упрощения жизни! Рекомендуем!

В Textpattern по-умолчанию нет редактора WYSIWYG. Это очень грустно и печально! Для рядового пользователя это основной камень преткновения при работе с Textpattern. Но это поправимо с помощью данного плагина!

Это модифицированный плагин! Он русифицирован и к нему добавлен удобный плагин для вставки видео с youtube.

Скачать плагин

Установка:

  • загрузите hak_tinymce в папку /textpattern/ на вашем хостинге
  • установите плагин из hak_tinymce.txt и активируйте его
  • перейдите в Расширения -> hak_tinyme и установите настройки плагина
  • в поля Initialization for article body editor и Initialization for article excerpt editor скопируйте настройки из файла Настройки вывода.txt
  • пользуйтесь! И будьте счастливы!

В результате у вас поле тела статьи и выдержки будут выглядеть следующим образом:

asy_wondertag позволяет использовать тег в качестве параметра тега. Замечательный плагин! Рекомендуем!

Этот плагин позволяет более гибко использовать возможности как стандартных тегов Textpattern, так и расширить возможности сторонних плагинов.

Скачать плагин

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

Пример использования:

<txp:asy_wondertag><txp:article_custom form="lofi" section="<txp:s /></txp:asy_wondertag>

<txp:asy_wondertag><txp:article_custom form="lofi" section="<txp:php>echo 'something';</txp:php>" /></txp:asy_wondertag>

<txp:asy_wondertag><txp:if_article_category name="<txp:custom_field name="test" />">
Есть совпадение.
<txp:else />
Нет совпадения.
</txp:if_article_category></txp:asy_wondertag>

Внимание! У этого плагина нет собственного парсера. Он только передаёт значение тега. Это работает идиально в большинстве случаев, но это Хак! Не усложняйте шаблон без надобности! Не работает с множеством параметров!

Иногда может потребоваться выбрать содержимое <textarea> или поля ввода (<input />) в 1 клик. Для решения задачи воспользуемся событиями javascript.

<textarea style="padding:2px; width:100%px; height:60px;" rows="4" cols="10" onclick="this.select();" onfocus="this.select();" readonly="readonly"><a href="http://txplife.ru" title="Русское сообщество любителей Textpattern" target="_blank">Русское сообщество любителей Textpattern</a></textarea>

События javascript:

onclick - при одинарном клике.

onfocus - при клике на элементе или очередном нажатии табуляции.

this.select(); - выбрать содержимое.

Атрибут textarea readonly="readonly" означает, что текстовое поле не может изменяться пользователем, т.ч. вводиться новый текст или модифицироваться существующий.

Если мы делаем сайт какой-то фирмы, или просто нам нужно вывести местоположение какого-либо объекта на карте, предлагаю воспользоваться следующей схемой:

<!-- Подключаем API карт 2.x -->
<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<script type="text/javascript">
// Как только будет загружен API и готов DOM, выполняем инициализацию
ymaps.ready(init);
function init () {
// Создание экземпляра карты и его привязка к контейнеру с
// заданным id ("map")
var myMap = new ymaps.Map('map', {
// При инициализации карты, обязательно нужно указать
// ее центр и коэффициент масштабирования
center: [48.496622,135.072687], // Нижний Новгород
zoom: 15
});
// Создание метки
var myPlacemark = new ymaps.Placemark(
// Координаты метки
[48.49953,135.06964], {
balloonContent: 'Текст для нашего указателя'
}
);
// Добавление метки на карту
myMap.geoObjects.add(myPlacemark);
}
</script>

<div id="map" style="width:100%; height:400px"></div>

Для грамотной оптимизации сайта для поисковых систем важно ставить на все статьи уникальные ключевые слова. Реализовать это можно несколькими методами. Остановимся пока на методе, основанном на Настраиваимых полях. Мы уже писали, что в них можно добавлять любые значения.

Итак, давайте создадим в Настройки->Главные->Продвинутые настройки новое Настраиваемое поле. Назовём его например "Meta_Keywords". Далее в шапку нашей страницы пишем следующий код:

<txp:if_custom_field name="Meta_Keywords">
<meta name="keywords" content="<txp:custom_field name="Meta_Keywords" />" />
</txp:if_custom_field>

Теперь все ключевые слова для продвижения нашего сайта можно писать в поле Meta_Keywords.

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

Перед скачиванием интересного пользователю файла можно брать его контактные данные. В этом нам поможет полезный плагин zem_contact_reborn. Скачиваем его и активируем. В нужном нам месте (например непосредственно в теле статьи) пишем следующий код:

<txp:zem_contact mailto="your_email@example.com" thanksform="file_download">
<txp:zem_contact_text label="Имя"  />
<txp:zem_contact_text label="Компания" />
<txp:zem_contact_email />
<txp:zem_contact_submit label="Скачать" />
</txp:zem_contact>

И создаём новую форму (тип формы - Разное):

Теперь вы можете <a href="http://yoursite.com/file_download/%номер_файла%" title="прайс">скачать прайс</a>!

Введённые данные придут вам на ваш your_email@example.com, а пользователю будет выведена форма file_download, в которой мы даём ссылку на скачивание прайса.

Иногда возникает необходимость выводить имя автора последнего комментария. Сегодня мы разберём, как это можно сделать. Создайте новую форму например "comment_poster".

<txp:comment_name link="0" />

И добавьте в форму статьи следующий код:

<txp:if_comments>
<p>[<txp:comments_count />]
Последний комментарий опубликован <txp:comments form="comment_poster" sort="posted desc" limit="1" /></p>
</txp:if_comments>

При создании сайта на Textpattern новички часто забывают про замечательные возможности, которые открываются при использовании настраиваемых полей (custom_field).

Они дают возможность добавлять к статье 10 любых дополнительных параметров с данными. Мы в очередной раз обрадовались им, когда делали сайт библиотеки на нашей любимой CMS. Каждая статья была описанием отдельной книги в огромном каталоге библиотеки. В этом случае дополнительные поля позволили нам добавить информацию об авторе, издании, Isbn, Issn, и т.д. А так же реализовать удобный поиск и сортировку по этим параметрам.

Что мы для этого предприняли. Для начала в продвинутых настройках дали имена (обязательно на латиницей) полям. Например "Bbk". Далее внесли в форму вывода списка статей следующий код:

<txp:if_custom_field name="Bbk">
<p>Bbk: <txp:custom_field name="Bbk" /></p>
</txp:if_custom_field>

И добавили значения поля в нужных нам статьях.

Вот и всё. Теперь, если мы добавим значения в поле Bbk в статьях, в информации о статье мы увидим эти данные.

У Textpattern уже есть гибкая в настройке и использовании система поиска по сайту.

Создаём форму поиска:

<txp:search_input label="" button="Go" size="15" wraptag="p" />

Скопируйте этот код и вставьте в любо удобное для вас место. Например вы можете вставить этот код в сайдбар на странице. Поиск работает при передаче в параметре "q" запроса поиска в GET или POST.

Далее нужно настроить вывод данных при поиске.

<txp:if_search>
<txp:article limit="10" pgonly="1" />
<txp:if_search_results>
<h2><txp:search_result_count text="" /> страниц найдено по запросу "<txp:search_term />":</h2>
<txp:else />
<h2>Ничего не найдено по запросу "<txp:search_term />".</h2>
<p>Воспользуйтесь поиском или картой сайта.</p>
</txp:if_search_results>
<txp:article limit="10" sort="posted desc" />
<txp:ob1_pagination firsttext="Перейти к первой странице" previoustext="Перейти к предыдущей странице" nexttext="Перейти к следующей странице" lasttext="Перейти к последней странице" ulclass="pagination" liselected="active" />
<txp:else />
<txp:article form="article_list" limit="10" />
<txp:ob1_pagination firsttext="Первая страница" previoustext="Предыдущая страница" nexttext="Следующая страница" lasttext="Последняя страница" ulclass="pagination" liselected="active" />
</txp:if_search>

Так Textpattern узнает, что и как вывести при поиске.

Проверка главной страницы, если мы не на главной, если мы находимся на главной странице раздела, если мы не на главной странице раздела, но в разделе, если поиск... Хороший, простой плагин! Рекомендуем!

Скачать плагин

glx_if_frontpage

Если мы на главной

glx_if_not_frontpage

Если мы не на главной

glx_if_section_frontpage

Если мы находимся на главной странице раздела

glx_if_not_section_frontpage

Если мы не на главной странице раздела, но в разделе

glx_if_search

Если пользователь что-то ищет

glx_if_not_search

Если не поиск

glx_if_category_list

Если мы находимся в списке категорий

glx_if_comments_open

Если комментарии открыты для этой статьи

glx_if_comments_closed

Если Комментарии закрыты для этой статьи

glx_if_comments_closed_comments

Если Комментарии закрыты для этой статьи, но статью уже комментировали

glx_if_comments_count

Если статью уже комментировали

Пример:

<txp:glx_if_frontpage>

<p>Добро пожаловать на главную!</p>

</txp:glx_if_frontpage>