www.textpattern.ru

Статьи и Документация

Глобальные переменные Textpattern

Автор: Henrik Jönsson aka ob1, obeewan (Швеция)
Первоисточник
Дата статьи: 14.09.2004

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

Примечание: Данная статья написана для Textpattern g1.19

Обратите внимание: В вашей плагин-функции вы должны иметь вызов глобальной переменной, например: global $thisarticle; перед тем, как начнете использовать ее.

Состав:
is_article_list
uPosted
limit
version
$prefs
$pretext
$thisarticle
$thispage

Подробнее:
$is_article_list
Содержит true/false в зависимости от типа страницы – это список статей или одиночная статья.
$uPosted
Содержитет unix timestamp времени публикации статьи.
$limit
Outputs the number of articles currently beeing listed в зависимости от установок txp:article/article_custom или другого аналогичного тэга.
$version
Содержит используемую на сайте версию Textpattern.

txp:global variable prefs

Еще одна из скрытых вещей Textpattern появляется из тьмы на солнечный свет. Свет добавляет им цену, показывая эти находки. $prefs, конечно, сохраняет данные настроек пользователя, которые установлены либо в Site Preferences ( Настройки Сайта) в админ-панели вашей инсталляции TXP или в вашем config.php файле.

Состав:
$prefs

  • prefs_id
  • sitename
  • path_from_root
  • siteurl
  • site_slogan
  • language
  • timeoffset
  • dateformat
  • archive_dateformat
  • url_mode
  • send_lastmod
  • ping_weblogsdotcom
  • logging
  • record_mentions
  • use_textile
  • use_categories
  • use_sections
  • use_comments
  • comments_moderate
  • comments_on_default
  • comments_default_invite
  • comments_dateformat
  • comments_mode
  • comments_sendmail
  • comments_disallow_images
  • comments_disabled_after
  • rss_how_many
  • lastmod
  • logs_expire
  • img_dir
  • version

Синтаксис: $prefs[‘NAME’];
Где NAME имеет следующие значения:

  • prefsid_ – не нашел что это означает, пожалуйста уведомите, если знаете вы
  • sitename_ – содержит (вы уже догадались, не так ли?) “Site name”, указанный в настройках.
  • path_from_root_ – хранит данные занесенные в поле “Subdirectory” в настройках.
  • siteurl_ – еще одна головоломка, установлена в настройках под наименованием “Web domain”.
  • site_slogan_ – содержит другую головоломку, в настройках обозначаемую как “Site tagline”.
  • language_ – язык, установленный в настройках (TXP g1.19 поддерживает только английский).
  • timeoffset – содержит timeoffset, который вы поставили в настройках.
  • dateformat
  • archive_dateformat
  • url_mode – установлен в true/1 если выбран “clean”, false/0 – если “messy”.
  • send_lastmod – Send Last-Modified header, равен true/1 или false/0, в зависимости от того, что указано в настройках.
  • ping_weblogsdotcom – пинг weblogs.com, имеет значения либо true/1, либо false/0 в зависимости от того, что устанавливается в настройках.
  • logging – возвращает “all”, если установлено “All hits”, “referer”, если установлено “Referers only” или “none” для – как вы уже догадались – “None”.
    Record mentions, is set to true/1 or false/0 depending on what is set in the preferences.
  • use_textile – Возвращает 2, если “Use Textile”, 1 при “Convert linebreaks” и 0 при “Leave text untouched”.
  • use_categories – использовать категории, устанавливается в true/1 или false/0, в зависимости от настроек.
  • use_sections – использовать секции, устанавливается в true/1 или false/0, в зависимости от настроек.
  • use_comments – допускать комментарии, установки – true/1 или false/0, в зависимости от настроек.
  • comments_moderate – модерирование комментариев, true/1 или false/0, в зависимости от настроек.
  • comments_on_default – по умолчанию?? – установлено в true/1 или false/0, в зависимости от настроек.
  • comments_default_invite – приглашение по умолчанию, имеет значения либо true/1, либо false/0, в зависимости от настроек.
  • comments_dateformat – содержит формат даты PHP, используемый для представления unix timestamp в комментариях.
  • comments_mode – устаовлено в 0, “nopopup” или 1 если “popup” выбрано в настройках.
  • comments_send_mail – извещать ли о комментариях автора, true/1 или false/0.
  • comments_disallow_images – запрещать пользовательские images, true/1 или false/0.
  • comments_disabled_after – равно 0 при “never”, 7 for “1 week”, 14 for “2 weeks” и так далее – до 42 для “6 weeks”.
  • rss_how_many – установливается в config.php, сколько статей должно быть задействовано в RSS-фиде, как стандарт.
  • lastmod – содержит форматированный timestamp, указывающий, когда сайт был последний раз модифицирован целиком.
  • logs_expire – установленое в config.php значение – сколько дней хранятся логи в базе данных.
  • img_dir – установка в config.php – директория, где вы будете сохранять изображения, которые загружаются через TXP.
  • version – содержит используемую вами версию.

txp:global variable pretext

Пришло время взглянуть на глобальную переменную, названную pretext. Что она делает?
Что она из себя представляет? Для чего используется? Прочитайте и вы увидите все, что глубоко скрыто под ее покровом.

Краткое замечание.
Я знаю, что раньше некоторые из этих величин можно было вызвать как тэг TXP,
например: < txp:s /> возвращал используемую пользователем
текущую секцию, в которой он находился.
However, as compooter have checked, all parts of the pretext array can be called this way.

Состав:
$pretext

  • id
  • s
  • page
  • css
  • c
  • q
  • count
  • pg
  • p
  • next_id
  • next_title
  • next_utitle
  • prev_id
  • prev_title
  • prev_utitle
  • path_from_root
  • pfr
  • url_mode
  • sitename

pretext
Это массив данных о статьях и сайте.
Синтаксис: $pretext[‘NAME’];

  • id – содержит идентификатор статьи. Разумеется, если вы в этот момент находитесь на странице одиночной статьи.
  • s – содержит наименование текущей просматриваемой секции.
  • page – содержит имя используемого шаблона ( template). Выводит имя используемого CSS-файла.
    Замечание: The name that is used to call the txp:css tag, meaning default if that is the one used.
  • c – содержит наименование категории, к которой относится просматриваемая статья, если таковая имеется.
  • q – содержит поисковые данные, если происходит поиск.
  • count – не знаю что означает, пожалуйста – дайте знать.
  • page – содержит текущую страницу.
  • p – не знаю что означает, пожалуйста – дайте знать.
  • next_id – содержит идентификатор (ID) следующей статьи, если таковая существует.
  • next_title – содержит наименование следующей статьи если таковая существует.
  • next_utitle – содержит “URL-only title” следующей статьи, если такая существует.
  • prev_id – содержит идентификатор (ID) предыдущей статьи, если такая существует.
  • prev_title – содержит наименование предыдущей статьи, если такая существует.
  • prev_utitle – содержит “URL-only title” предыдущей статьи, если такая существует.
  • path_from_root – содержит путь на сервере от корня, определенный в config.php.
  • pfr – содержит, если определен, subdirectory, устанавливаемый в настройках TXP.
  • url_mode – содержит 1 – если чистый, 0 – если messy.
  • sitename – содержит имя сайта, указанное в настройках TXP.

txp:global variable thisarticle

Неуловимая переменная thisarticle перед экзаменационной доской.
Чем она может помочь вам, как разработчику плагинов?

Состав:
$thisarticle

  • thisid
  • author
  • posted
  • if_comments
  • comments_invite
  • comments_count
  • permlink
  • title
  • excerpt
  • body
  • url_title
  • category1
  • category2
  • section
  • keywords
  • article_image

$thisarticle
Это переменная может использоваться для plugins внутри форм, которые отображают данные о статье.
Синтаксис: $thisarticle[‘NAME’];

  • thisid – идентификатор(id) отображаемой статьи.
  • author – содержит имя автора статьи. Если автор уже не является пользователем TXP, то содержит бывший идентификатор (ID) автора.
  • posted – содержит дату публикации, в формате, установленном в настройках TXP.
  • if_comments – содержит true/false в зависимости от того, имеет ли статья или нет какие-нибудь комментарии.
  • comments_invite – содержит форматированное < a > “приглашение” (invite), переменную, указываемую в настройках, ту, что предлагает посетителям комментировать статью.
  • comments_count – содержит количество комментариев, которое имеет статья.
  • permlink – содержит < a > форматирование, которое используется для отображения адреса статьи.
  • title – содержит наименование статьи.
  • excerpt – содержит отрывок (excerpt) статьи.
  • body – содержит от Текстиленное( Textiled ) содержание, тело статьи.
  • url_title – содержит заголовок урла статьи, если установлено “URL-only title” поле в TXP. Иначе будет пустой.
  • category1 – содержит первую из категорий, к которым отнесена статья.
  • category2 – выводит вторую из категорий статьи.
  • section – содержит наименование секции, к которой отнесена статья.
  • keywords – содержит, если присутствует, поле “Keywords”.
  • article_image – содержимое поля Картинка к статье (“Article image”), если есть такое.

txp:global variable thispage

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

Состав:
$thispage

  • pg
  • numPages
  • s
  • c

$thispage
Этот массив может быть использован для плагинов где угодно на странице, статьи на странице могут отображаться любым способом.
Синтаксис: $thispage[‘NAME’];

  • pg – содержит текущий номер страницы.
  • numPages – содержит общее количество страниц для статей.
  • s – содержит текущее наименование секции, в которой вы находитесь.
  • c – содержит текущее наименование категории, которую вы просматриваете


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

Обсуждение этой темы в форуме

 
Rambler's Top100