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

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

Вы не зашли.

#1 07-05-2005 18:39:04

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

Управление статическими страницами в Textpattern

Управление статическими страницами в Textpattern.

Автор: Alex Shiels aka Zem (Австралия)
перевод.
оригинал на английском - здесь



Распространенный вопрос начинающих о ТекстПаттерне, каким образом сделать не блоговое содержимое,
наподобие страниц  “о нас”, или сборника документов.
Это довольно легко реализовать, хотя не вполне очевидно с самого начала.
Ниже приводится несколько примеров, которые могут помочь начинающим;
опытные пользователи, вероятно,  захотят пропустить этот материал.

Прежде всего, поможем понять, как в Textpattern-е организовано содержимое.
Статьи (аrticles) – это документы, которые имеют заголовок (title),
основную часть (body) и создателя (author), плюс некоторые необязательные поля,
такие как отрывок (excerpts), категории (categories), комментарии (comments) и другие.
Секции (sections) – это разделы внутри веб сайта, которые содержат статьи.
Каждая статья может относиться только к одной секции.
В зависимости от типа отображения ссылок (url mode), определенном в ваших настройках Textpattern-а,
ссылки секций  выглядят( см. примечание к этой статье) либо
http://example.com/mysection/, либо http://example.com/index.php?s=mysection.

Внешний вид секций определяется шаблонами страниц(Page templates) и формами Текстпаттерна
для статей (article Forms).
Стандартная блог-ориентированная секция ТекстПаттерна использует шаблон страницы,
на которой отображается список статей (<txp:article limit=5 />), а форма статьи выводит
заголовок статьи, постоянную ссылку (permlink), дату, автора,
основную часть, т.е. собственно содержание статьи и ссылку на комментарии.

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


Форма для отображения статьи

По умолчанию форма Текстпаттерна для статей выглядит наподобие этой:

<h3>
   <txp:permlink><txp:title /></txp:permlink>
   ·<txp:posted />
</h3>
   <txp:body />
<p>
   <txp:comments_invite />
</p>
* * *

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

<h3><txp:title /></h3>
<p><i><txp:excerpt /></i></p>
<txp:body />

Присвоим форме тип “Article”, и сохраним ее под именем “static_article”.
Этот вариант макета статьи существенно приблизил к тому, что нам было необходимо: комментарии исчезли,
и выдержка из статьи (если таковая определена), отображается наверху,
перед содержимым статьи, сразу под заголовком.
Вы можете удалить часть формы с участием отрывка-цитаты-выдержки из статьи (excerpt),
если не планируете ее использовать.
Мы можем использовать эту форму для отображения всего нашего не блого-подобного контента,
либо это может быть простой страницей “about”,
или одна из цикла статей.

Теперь создадим вторую форму:

<h4><txp:permlink><txp:title /></txp:permlink></h4>
<p><txp:excerpt /> <txp:permlink>(read more..)</txp:permlink></p>

Присвоим форме снова тип “Article”, и назовем ее “static_headline”.
Мы можем использовать данную форму для отображения списка статей секции,
которая содержит несколько статей (например, коллекция рецептов или учебных пособий).
Далее – нам надо создать макет страницы, которая будет использовать эти формы.


Шаблон страницы.

Здесь мы создадим два различных шаблона:  один для секции «о нас» («about»),
которая содержит одиночную статью; и один для секции «рецептов» (“recipe”),
которая содержит много статей (разумеется, вы можете сменить название секции на иное,
наиболее подходящее для вашего сайта).
В разделе Presentation/Page административного интерфейса, выберите “default” шаблон,
и скопируйте его дважды: один как “static_page”,  а другой как “static_list”.
В шаблоне “static_page” взгляните на тэг <txp:article />, и измените его следующим образом:

<txp:article limit=1 form="static_article" />

Мы используем его для отображения нашей страницы “about”, которая будет содержать только
одну статью (поэтому “limit=1”).
Теперь редактируем аналогичный тэг в “static_list”:

<txp:article limit=100 form="static_article" listform="static_list" />

Будет отображаться перечень статей и цитат (excerpts), как определено в форме static_list,
и дает возможность увидеть статью целиком,
если посетитель кликнет на заголовок.
В завершение нам надо настроить наши секции,
чтобы они использовали корректные макеты страниц.


Секции

Начнем с секции «about».
Textpattern уже имеет секцию, называемую “about”, поэтому мы можем использовать ее.
Найдите раздел Presentation/Sections в интерфейсе администратора и задайте следующие
установки для “about”:

    •    Uses page: static_page
    •    Uses style: default
    •    Selected by default: no
    •    On front page: no
    •    Syndicate: no
    •    Include in site search: yes

Теперь создайте новую секцию под названием “recipe”,
и смените ее установки на следующие:

    •    Uses page: static_list
    •    Uses style: default
    •    Selected by default: no
    •    On front page: no
    •    Syndicate: no
    •    Include in site search: yes

Если после этого рядом с наименованием секции появится красный восклицательный знак,
вам надо кликнуть на него и следовать инструкциям.
Все, что осталось сделать, это написать немного контента.
Добавьте статью,  определите для нее секцию - “about”; и она будет доступна по адресу http://example.com/about/ (или http://example.com/index.php?s=about, если вы используете messy урлы). Заголовок статьи будет расположен вверху страницы, затем будет располагаться содержимое статьи.
Статьи, добавленные в секцию “recipe” будут представлены списком по адресу http://example.com/recipe/ (или http://example.com/index.php?s=recipe). Клик на заголовок статьи или на надпись “read more..” приведет посетителя на страницу с полным текстом статьи.
Если вы желаете добавить еще секции для статического контента, нет необходимости создавать новые формы или макеты страниц, за исключением случаев, когда вы захотите изменить их функциональность. В этом случае создайте новую секцию, используя  установки для одиночной страницы или для списка,  подобно тем, что указаны выше для “about” или “recipe”.


Окончательная доводка

В заключение вашему вниманию представлю несколько возможных простых улучшений.

Если захотите сделать возможными комментарии на ваших страницах с рецептами,
вам понадобится сделать необходимые установки для комментариев в административном
разделе – ярлык Admin/Preferences, и добавить этот тэг внизу вашей формы static_article:

<txp:comments_invite />

На странице “about” Вы можете запретить комментарии, просто установив  “Comments: off”
в режиме редактирования статьи.
Предпочитаете отсортировать список рецептов не по дате, а  по алфавиту?
Для этого потребуется немного схитрить.
Измените шаблон страницы static_list следующим образом:

<txp:if_article_list>
<txp:article_custom limit=100 sortby="title" form="static_list" />
</txp:if_article_list>
<txp:if_individual_article>
<txp:article limit=1 form="static_article" />
</txp:if_individual_article>

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

Ссылки на сами статьи в перечне рецептов по умолчанию показывают текст-пояснение “Permanent link to this article”.
Чтобы это изменить установите плагин zem_link (http://thresholdstate.com/software/3702/zem_link),
и измените вашу форму static_headline, следующим образом:

<h4><txp:zem_link title="link to '%s'"><txp:title /></txp:zem_link></h4>
<p><txp:excerpt /> <txp:zem_link title="read the full article">(read more..)</txp:zem_link></p>

Если вы хотите, чтобы статьи ваших рецептов были бы доступны пользователям RSS и Atom-каналов,
в настройках секции установите “Syndicate” в Yes.

-------------------------------------------------------------------------------------
Примечание: так называемые “clean” урлы требует некоторого дополнительного шаманства
с .htaccess и файлами секций, описание которого выходит за рамки этой статьи.
Если вы испытываете трудности с 404-ыми ошибками или на страницах отображается
не соответствующее содержимое, начните с экспериментов в режиме Messy URL.

September 13, 2004

----------------------------------------------------------------------------------------------------------------------------------------------
замечания и вопросы по переводу рассматриваются здесь

Неактивен

 

#2 03-11-2005 08:14:52

Alex
буки
Зарегистрирован: 03-11-2005
Сообщений: 7

Re: Управление статическими страницами в Textpattern

form static_list does not exist - вот что мне показывает страничка, вместо ожидаемого списка статей...

Неактивен

 

#3 03-11-2005 09:18:48

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

Re: Управление статическими страницами в Textpattern

Alex написал:

form static_list does not exist - вот что мне показывает страничка, вместо ожидаемого списка статей...

Значит, надо ее сделать.


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

Неактивен

 

#4 03-11-2005 09:30:31

Alex
буки
Зарегистрирован: 03-11-2005
Сообщений: 7

Re: Управление статическими страницами в Textpattern

"Теперь редактируем аналогичный тэг в “static_list”:
<txp:article limit=100 form="static_article" listform="static_list" />"

static_list - это шаблон, не форма
Пардон, но я немного не врубаюсь, как это шаблон вызывает внутри своего кода сам себя?

Неактивен

 

#5 03-11-2005 09:55:31

Alex
буки
Зарегистрирован: 03-11-2005
Сообщений: 7

Re: Управление статическими страницами в Textpattern

Даже так - где используется в описанных шаблонах static_headline?

Неактивен

 

#6 03-11-2005 10:42:51

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

Re: Управление статическими страницами в Textpattern

static_list это форма. Иначе и быть не может. См. первый пост треда. Внимательно.

Отредактированно glebotr (03-11-2005 10:45:39)


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

Неактивен

 

#7 03-11-2005 11:10:17

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

Re: Управление статическими страницами в Textpattern

Alex написал:

form static_list does not exist - вот что мне показывает страничка, вместо ожидаемого списка статей...

зайди в админ.панель. меню presentation/forms, там сразу откроется форма default.
скопируй ее в буфер, затем нажми на Создание новой формы, и из буфера сбрось в окно то, что перед этим сохранил. Назови эту форму "static_list" и сохранись. Потом экспериментируй (редактируй) эту форму. Не забудь посмотреть Тэги форм

Неактивен

 

#8 03-11-2005 11:27:21

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

Re: Управление статическими страницами в Textpattern

Да, надо учится доброте... Овип Локос... Снимаю шляпу.


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

Неактивен

 

#9 03-11-2005 13:07:15

Alex
буки
Зарегистрирован: 03-11-2005
Сообщений: 7

Re: Управление статическими страницами в Textpattern

"Назови эту форму "static_list""
Нет, в статье так:

"<h3><txp:title /></h3>
<p><i><txp:excerpt /></i></p>
<txp:body />

Присвоим форме тип “Article”, и сохраним ее под именем “static_article”."

Неактивен

 

#10 03-11-2005 13:09:57

Alex
буки
Зарегистрирован: 03-11-2005
Сообщений: 7

Re: Управление статическими страницами в Textpattern

Доброта Evgeny ни при чем...
Я просто выполняю то, что написано в статье пошагово - и ОНО не получается так, как написано!
Значит где-то очепятка...
Так все-таки - где используется в описанных шаблонах форма static_headline?

Неактивен

 

#11 03-11-2005 13:57:10

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

Re: Управление статическими страницами в Textpattern

Alex написал:

выполняю то, что написано в статье пошагово - и ОНО не получается так, как написано!
Значит где-то очепятка...
Так все-таки - где используется в описанных шаблонах форма static_headline?

Действительно!  В одном месте одно название, в другом - другое. Это одно и то же.
static_headline == static_list

Неактивен

 

#12 14-06-2006 07:19:33

nuker
аз
Зарегистрирован: 14-06-2006
Сообщений: 4

Re: Управление статическими страницами в Textpattern

У меня все static статьи дополняются сообщением: "Комментирование этой статьи закрыто".
Причем только если в настройках включено "Автоматически добавлять коментарии к статье",
в противном случае комментарии не добавляются даже к блог-статьям

Неактивен

 

#13 14-06-2006 10:32:57

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

Re: Управление статическими страницами в Textpattern

Думаю, проблема в форме статьи.


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

Неактивен

 

#14 15-06-2006 01:28:57

nuker
аз
Зарегистрирован: 14-06-2006
Сообщений: 4

Re: Управление статическими страницами в Textpattern

glebotr написал:

Думаю, проблема в форме статьи.

Для блог-статей:

Код:

<div class="entry">
<txp:if_article_list>
<h3><a href="<txp:permlink/>" title="<txp:title/>"><txp:title/></a></h3>
<txp:else />
<h3><txp:title/></h3>
</txp:if_article_list>

<txp:body />
<p class="info">
<img src="<txp:site_url />images/blix_comments.gif" alt=""/> <txp:comments_invite /> | <img src="<txp:site_url />images/blix_post.gif" alt=""/> опубликовано: <txp:posted /> </p>
</div>

Для статики:

Код:

<h3><txp:title /></h3>
<txp:php>
#<p><i><txp:excerpt /></i></p>
</txp:php>
<txp:body />

дело явно не в форме.

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru