emo - современный интернет, веб-разработка и графический дизайн глазами профессионала

Emo | Textpattern FAQ. Русский. Часть 1.

15
02/2005

Ввиду того, что большое число посетителей моего блога приходят сюда в поисках русской информации о Textpattern (спасибо Яндекс) и нередко обращениются по этой теме ко мне напрямую, я решил написать некоторое подобие «ЧаВо», чтобы помочь людям и прояснить ситуацию. Трактат будет доступен в нескольких частях.

перейти к комментариям (9)

01. Что такое Textpattern?

TXP (здесь и далее, сокращение от Textpattern) – это простая, гибкая и удобная система управления контентом (CMS) для ваших веб-сайтов. Многие незаслуженно относят TXP к блог-движкам, но ее возможности позволяют создавать сайты как по типу дневников – запись-за-записью (post-by-post), так и в постраничном (by-page) виде. Особенность TXP в том, что он идеально подходит для небольших или средних сайтов без сложной иерархии информации. Это не портальный движок, но создать портал на TXP все-таки возможно.

Textpattern работает с использованием языка PHP 4.x.x/5.x.x, базы данных MySQL и веб-сервера Apache с установленным mod_rewrite.

Берется здесь: Сайт TXP

02. Какие преимущества у Textpattern?

Основными достоинствами я бы назвал: – удачный подход к разделению контента и дизайна – блог-функции в постраничной верстке и наоборот – совместимость с веб-стандартами (XHTML, CSS) – удобство и скорость работы, небольшой объем программного кода – поддержка ЧПУ – масштабируемость за счет плагинов – быстрая и несложная установка – безусловно, бесплатность (open-source)

Можно также добавить наличие очень большого сообщества пользователей.

03. Почему выбрать Textpattern, а не Wordpress (или MovableType)?

Во-первых, я ничего не имею против Wordpress – сам использовал его достаточно долгое время, еще начиная с праотца b2. Но Wordpress – это пока только движок для дневников, каким бы хорошим, легким и доступным он ни был.

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

04. Как установить и настроить Textpattern?

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

Далее, открывайте в браузере:
http://вашдомен.ком/директория_куда_скопирован_txp/textpattern/setup.php и следуете всем указаниям. На определенном этапе, вас попросят скопировать данные конфигурации и вставить в файл config.php. После того как все прошло удачно, не забудьте удалить файл /textpattern/setup.php.

Далее идем сюда и входим в систему, указав имя и пароль созданные при установке:
http://ваш-домен.ком/директория_куда_скопирован_txp/textpattern/

Открываем закладку Admin->Preferences и заполняем важные поля:

Web domain – сюда имя вашего домена, где установлен TXP (без http://, без директорий и слешей в конце!)

Subdirectory – сюда впишем путь, куда установлен TXP (со слешами в конце).

Готово. Можно приступать к тюнингу вашего нового сайта.

05. А чего все по-английски? Я по-русски хочу.

Пока что локализированная последняя версия TXP мне не попадалась. Но если кто перевел или имеет перевод – пишите в комментарии, я добавлю линк. Лично мне это не нужно, покамест.

06. В Textpattern кодировка utf-8, а мне надо win-1251. Как быть?

Лучше оставить utf-8. Честно. Прелесть utf-8 как раз в том, что он позволяет работать с практически любым язык, и именно с русским он прекрасно справляется. Дело в том, что возможности Интернет постоянно растут, и сейчас появляется все больше XML-ориентированных сервисов (RSS, Atom, Trackback/Pingback, XML-RPC и так далее), корректно работающих лишь с utf-8. Используя что либо, помимо utf-8 вы создаете проблемы себе и другим людям, а в будущем эта проблема еще более обостриться.

Все современные браузеры корректно работают с Unicode. Поисковые машины нормально индексируют Unicode-страницы.

07. Хорошо, вы меня убедили работать с utf-8. Но оказалось Textpattern неправильно конвертирует русские буквы в крякозябры.

В сущности, это проблема не в TXP, а в PHP. Дело в том, что функция PHP 4.x.x htmlspecialchars(), используемая для обработки специальных символов html и используемая в коде TXP, не правильно работает с не iso-8859-1 кодировками. Не уверен, но возможно эта проблема устранена в PHP 5. Тем не менее, чтобы исправить ситуацию, необходимо отключить конвертацию.

Делается это так. Нам нужно немного отредактировать файл textpattern\lib\classTextile.php. Открываем его в редакторе, и ищем строки:

if (get_magic_quotes_gpc())
$text = stripslashes($text);

$text = $this->incomingEntities($text);
$text = $this->encodeEntities($text);

Далее закомментируем строку последнюю строку:
// $text = $this->encodeEntities($text);

Вуа-ля! Теперь все работает. Правда, спецсимволы HTML придется кодировать руками, но это не беда. Скорее дело привычки (или инструментария).

08. Я упрямый и не хочу utf-8! Хочу win-1251.

Честно сказать, опыта правки последних версий TXP на предмет смены кодировки я не имею – бросил это дело еще с Textpattern g117 и перешел полностью на Unicode.

Ну, если уж хочется непременно windows-1251, во всех файлах, где встречается строка charset=utf-8 и вообще везде, где упоминается charset и utf-8 – заменить на «windows-1251», а также закомментировать кодирование строк в classTextile.php, так как это описано выше.

Гарантировать результата, впрочем, не берусь.

09. Не работают ЧПУ (они же clean-URL). Вместо русских букв – квадратики.

Вероятно, вы все-таки пошли путем внедрения кодировки win-1251? Ибо с utf-8 при создании ЧПУ статьи все русские символы пропускаются, пробелы заменяются на «-», а английские литеры остаются. Как на этом блоге.

Решений имеется два.

1) Это просто, но прибавляет работы при написании статей. Когда создаем или редактируем статью, жмем ссылку Advanced Options в левой части, и вписываем в поле «URL-only title» английское название статьи (полное или сокращенное или просто номер – дело ваше). То, что вы вписали, будет отображаться как ЧПУ этой записи.

2) Можно автоматизировать, исправив исходный код. Решение подсказал Дмитрий – cryptology.ru. Работает только, если вы используете кодировку win-1251!

Открываем файл taghandlers.php.

Ищем строку:

if ($txpac[‘attach_titles_to_permalinks’]) {

После нее добавляем следующее:

$text = iconv(“UTF-8”, “Windows-1251”, $text);
$text = str_replace(array(‘р’, ‘с’, ‘т’, ‘у’, ‘ф’, ‘х’, ‘¬’, ‘ц’, ‘ч’, ‘ш’, ‘щ’, ‘ъ’, ‘ы’, ‘ь’, ‘э’, ‘ю’, ‘я’, ‘Ё’, ‘ё’, ‘Є’, ‘є’, ‘Ї’, ‘ї’, ‘Ў’, ‘ў’, ‘°’, ‘•’, ‘•’, ‘v’, ‘№’, ‘¤’, ‘¦’, ’ ’), array(‘a’, ‘b’, ‘v’, ‘g’, ‘d’, ‘e’, ‘yo’, ‘j’, ‘z’, ‘i’, ‘y’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘r’, ’s’, ‘t’, ‘u’, ‘f’, ‘kh’, ‘c’, ‘ch’, ‘sh’, ‘sch’, ‘j’, ‘i’, ‘’, ‘e’, ‘yu’, ‘ya’), $text );
$text = iconv(“Windows-1251”, “UTF-8”, $text);

Решение хорошее, но требует, чтобы на хостинге была установлена библиотека iconv() для PHP.

Написано 15/02/2005, 17:56. Автор: Юрий Поспелов.
Тэги: , ,



праздничный фуршет

Живой поиск

другие записи по тематике


Сервер в Украине - хостинг для Вашего интернте проекта!
Рюкзак Maxpedition Vulture-II
Надежно и выгодно. Лучшие инвест-фонды Рунета
ипотека


Комментарии

  1. от Denny (http://www.minimal.ru/)

    Отличное начинание. Давно возникла необходимость в ресурсе о TXP. Первый шаг сделан.

    Что касается русификации — я сделал сборку из версий 1.0pr2 (как основа) + 1 файл из немецкой версии + пара файлов из pr1 (т.к. в pr2 глюки с несколькими функциями (Related articles например)).

    Всё нормально получилось за исключением названия в титлах админки – пресловутые квадратики... В чём дело не могу пока понять, кодировки везде utf-8 проставлены, проверял...

  2. от kartav ()

    Проблема с русским названием статьи действительно решается легко (я предпочитаю вар.1; кроме того, вот здесь предложен другой вариант, он работает). Но вот как быть с названиями категорий? Писать по-английски? Или есть возможность отделить название категории от УРЛа?

  3. от ternopil (http://www.katalog.te.ua/)

    Нашел как раз то что искал. Спасибо!

  4. от Yuri "Emo" Pospelov (http://emo.com.ua)

    На здоровье :) Хотя уж много времени прошло, куча релизов TXP случилось, информация устарела.

  5. от alexd (ad-soft.org)

    А не подскажите, где найти блог на продобие с ЖЖ: легкая регистрация, у каждого юзера свои блоги со своими настройками внешнего вида, доступа и т.п. (хочу поставить на работе, чтобы каждому юзеру свой движок не заводить, но было похоже на это)

  6. от Serg (blog.i-balans.ru)

    Wordpress MU

  7. от Vyacheslav (http://kredit.fseti.com)

    У Вас очень интересный сайт! Мне очень понравилось!

  8. от Igor (http://buh4you.ru)

    Достойный текст! Жаль, без продолжения :(



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

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

имя

email

URL

Комментарий

Как писать комментарии на Textile