форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Глобальные переменные Textpattern
Автор: Henrik Jönsson aka ob1, obeewan (Швеция)
Перевод. Оригинал на английском - здесь.
Как только я начал разбираться в 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 - содержит текущее наименование категории, которую вы просматриваете
----------------------------------------------------------------------------------------------------------------------------------------------
замечания и вопросы по переводу рассматриваются - здесь
Отредактированно Evgeny (07-05-2005 18:22:37)
Неактивен
прошу обратить внимание, что вышеприведенная статья была написана
к предыдущей версии. в rc3 некоторые переменные уже перестали быть актуальными.
еще одна статья про глобальные переменные, но уже относящаяся в эре rc3 - здесь.
может быть, у кого-нибудь найдутся время с желанием для перевода и этой статьи.
Если вы проводили собственные изыскания по глобальным переменным, будем признательны за любые ваши мысли и наблюдения
по этому вопросу.
Неактивен
А есть ли глобальная переменная пользовательских полей? Что-то нигде не могу найти информацию.
Неактивен
Можно попробовать <txp:php>print_r($GLOBALS);</txp:php> и можно увидеть много нового ) Вывод зависит от контекста - статья это будет или список статей.
Неактивен
the_ghost написал:
Можно попробовать <txp:php>print_r($GLOBALS);</txp:php>
А для удобства забыли вывод <pre>, или это и так понятно
Неактивен
Redduck написал:
the_ghost написал:
Можно попробовать <txp:php>print_r($GLOBALS);</txp:php>
А для удобства забыли вывод <pre>, или это и так понятно
Можно и pre, но я предпочитаю в исходном коде смотреть подобную отладку.
Неактивен
the_ghost написал:
Можно попробовать <txp:php>print_r($GLOBALS);</txp:php> и можно увидеть много нового ) Вывод зависит от контекста - статья это будет или список статей.
Ого, спасибо! Это то что надо
Неактивен