Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 18.05.2011, 15:55   #1
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

а что вообще нужно сделать? Зачем это поле-то читать? Потом же что-то с этим надо сделать... А приведенный выше код вообще черт знает что делает...
PHP код:
# Автор страницы в заголовке
COA
{
    
wrap = <title> | </title>

    
TEXT
    1.data 
TSFE:page|author
    1.htmlSpecialChars 
1

Вот так, например, можно автора, если он есть, поставить в заголовок страницы...
По аналогии - куда угодно, и все это имеется в TSref!
Андрей Аксенов вне форума   Ответить с цитированием
Старый 18.05.2011, 16:27   #2
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

Цитата:
Сообщение от Андрей Аксенов Посмотреть сообщение
а что вообще нужно сделать? Зачем это поле-то читать? Потом же что-то с этим надо сделать... А приведенный выше код вообще черт знает что делает...
PHP код:
# Автор страницы в заголовке

    
1.data TSFE:page|author 
Вот так, например, можно автора, если он есть, поставить в заголовок страницы...
По аналогии - куда угодно, и все это имеется в TSref!
Вот это ты где взял? Где написано, что есть такая переменная author или свойство, что я могу ее/его вот так через | применить?

А код, кстати, из Typo3 by example.

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

и опять же, мне надо еще и дату последнего изменения страницы SYS_LASTCHANGED показывать, кроме ее автора. как мне до нее добраться, как из UNIX-времени ее перевести в нормальное? и еще херова туча вопросов, ответов на которые в документации нет. их можно было бы получить здесь, если бы и здесь не посылали... в документацию.

За код - спасибо. Просто и работает. Если я правильно понимаю, через
Код:
TFSE:page
мы получаем доступ ко всем атрибутам текущей страницы?

и все-равно с пхп было бы проще (и привычнее). потому что через поле author в pages надо вытаскивать для каждого автора его контакты да и время, как я уже говорил, надо как-то переводить... поэтому буду зрить в core.

Последний раз редактировалось Anlov; 18.05.2011 в 16:41
Anlov вне форума   Ответить с цитированием
Старый 18.05.2011, 17:41   #3
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Зря так, в документации действительно все есть, хотя примеров маловато, да и трудно разобраться. Документацию официальную я сам перевожу и примеры в ней стараются давать правильные.
А код этот я сам написал, только что...
Можно еще так вывести текст где-нибудь:
PHP код:
10 TEXT
10.value 
Автор страницы: {page:author}
10.insertData 
PHP оно конечно сначала привычнее, но здесь трудно учесть все ньюансы, типа разрешен ли доступ у этого пользователя к тому, что нужно вывести, не удалено ли это было и куча всего.
Как раз API TYPO3 для этого и нужно.
Андрей Аксенов вне форума   Ответить с цитированием
Старый 18.05.2011, 18:55   #4
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

аха, вот про это-то я и не подумал. хотя для данного случая это не критично, если уж страница на сайте есть - то выдайте ее автора и время последнего изменения.
Anlov вне форума   Ответить с цитированием
Старый 18.05.2011, 19:47   #5
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию

Итак, выводим автора страницы* и дату последнего изменения с помощью PHP через запись текущей страницы в $GLOBALS["TSFE"]:

Код:
$author = $GLOBALS["TSFE"]->page[author]; //author - поле "author" таблицы "pages"
	$author_mail = $GLOBALS["TSFE"]->page[author_email]; //author_email - поле "author_email" таблицы "pages"
	if($author)
	{
		echo "<p class='page_info'>"."Author:"."<br>";
		echo "<span class='author'>".$author."</span><br>";
		echo "E-Mail: <span class='author_mail'>".$author_mail."</span></p>";
		$last_change = $GLOBALS["TSFE"]->page[SYS_LASTCHANGED]; //SYS_LASTCHANGED - поле "SYS_LASTCHANGED" таблицы "pages"
		$last_change_formated = date("d.m.Y", $last_change);
		echo "<p>"."Last change"."<br>";
		echo "<span class='last_change'>".$last_change_formated."</span></p>";
	}
и еще раз - на бис, но с получением данных из таблицы базы данных Typo3 (только автора, остальное - по аналогии):

Код:
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
		'uid,author', //выбираем поля uid и author
		'pages',      //из таблицы pages
		'uid='.$GLOBALS["TSFE"]->id, //условие: только для текущей страницы
		'',
		'',
		''
	);
	$rows = array();
	while(($rows = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))) {
		//$rows[] = $row;
		$author = $rows[author];
	}
	$GLOBALS['TYPO3_DB']->sql_free_result($res);
	//if (count($rows)) return $rows;
	echo "<b>".$author."</b>";
*автора для каждой страницы при ее создании/редактировании автоматом добавляет это расширение в поле author и author_email таблицы pages
Anlov вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инструкция: установка php акселератора APC на хостинге nic.ru Valery Romanchev TYPO3 хостинг 24 25.11.2014 16:47
Настройки параметров ImageMagick для TYPO3 на FreeBSD и Linux Valery Romanchev Мастер-класс 9 25.06.2013 22:38
Как вставить php код в шаблон сайта на typo3 givemesomedrugs Общие вопросы 3 11.11.2010 18:40
Как вставить PHP код до всякого TYPO3 кода.. Или почти до Valery Romanchev Разработка расширений / TYPO3 extension development 1 30.07.2005 17:15
TYPO3, PHP разработчик в Москве (full time) Valery Romanchev Работа и заказы / Job Offer and Request 0 07.07.2005 01:26


Часовой пояс GMT +4, время: 04:39.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория