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

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

Вы не зашли.

#1 04-05-2005 13:09:02

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

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

Глобальные переменные 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)

Неактивен

 

#2 04-05-2005 13:45:09

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

Re: глобальные переменные в Textpattern

прошу обратить внимание, что вышеприведенная статья была написана
к предыдущей версии. в rc3 некоторые переменные уже перестали быть актуальными.

еще одна статья про глобальные переменные, но уже относящаяся в эре rc3 - здесь.
может быть, у кого-нибудь найдутся время с желанием для перевода и этой статьи.

Если вы проводили собственные изыскания по глобальным переменным, будем признательны за любые ваши мысли и наблюдения
по этому вопросу.

Неактивен

 

#3 21-08-2011 22:37:07

itshaman
слово
Откуда: Омск
Зарегистрирован: 03-06-2009
Сообщений: 395
Вебсайт

Re: глобальные переменные в Textpattern

А есть ли глобальная переменная пользовательских полей? Что-то нигде не могу найти информацию.


Помогу сделать Ваш сайт лучше! Принимаю Webmoney, PayPal, рубли, доллары, печеньки

Неактивен

 

#4 22-08-2011 01:03:03

the_ghost
ять
Откуда: Минск
Зарегистрирован: 01-05-2007
Сообщений: 1957
Вебсайт

Re: глобальные переменные в Textpattern

Можно попробовать <txp:php>print_r($GLOBALS);</txp:php> и можно увидеть много нового ) Вывод зависит от контекста - статья это будет или список статей.


.      Создание шаблонов для Textpatern http://textpattern.ru/forum/viewtopic.php?id=1665 (<txp:make_template quality="best" />)
КОНСУЛЬТАЦИИ по Textpattern - ICQ#8458496, nemiga@gmail.com <txp:if_question><txp:pay /></txp:if_question>
       Список всех тегов - http://textbook.textpattern.net/wiki/in … _Reference

Неактивен

 

#5 22-08-2011 09:16:42

Redduck
мыслете
Откуда: Челябинск
Зарегистрирован: 12-10-2009
Сообщений: 187
Вебсайт

Re: глобальные переменные в Textpattern

the_ghost написал:

Можно попробовать <txp:php>print_r($GLOBALS);</txp:php>

А для удобства забыли вывод <pre>, или это и так понятно smile


Учусь потихоньку, а надо бы побыстрей, да лень.
Куба, пой, Куба, пой, Куба, народ свободный мой!

Неактивен

 

#6 23-08-2011 19:41:50

the_ghost
ять
Откуда: Минск
Зарегистрирован: 01-05-2007
Сообщений: 1957
Вебсайт

Re: глобальные переменные в Textpattern

Redduck написал:

the_ghost написал:

Можно попробовать <txp:php>print_r($GLOBALS);</txp:php>

А для удобства забыли вывод <pre>, или это и так понятно smile

Можно и pre, но я предпочитаю в исходном коде смотреть подобную отладку.


.      Создание шаблонов для Textpatern http://textpattern.ru/forum/viewtopic.php?id=1665 (<txp:make_template quality="best" />)
КОНСУЛЬТАЦИИ по Textpattern - ICQ#8458496, nemiga@gmail.com <txp:if_question><txp:pay /></txp:if_question>
       Список всех тегов - http://textbook.textpattern.net/wiki/in … _Reference

Неактивен

 

#7 23-08-2011 21:34:19

itshaman
слово
Откуда: Омск
Зарегистрирован: 03-06-2009
Сообщений: 395
Вебсайт

Re: глобальные переменные в Textpattern

the_ghost написал:

Можно попробовать <txp:php>print_r($GLOBALS);</txp:php> и можно увидеть много нового ) Вывод зависит от контекста - статья это будет или список статей.

Ого, спасибо! Это то что надо


Помогу сделать Ваш сайт лучше! Принимаю Webmoney, PayPal, рубли, доллары, печеньки

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru