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

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

Ответ
 
Опции темы Опции просмотра
Старый 14.05.2007, 18:21   #1
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Вы всё перепутали...
userFunc cObject'a USER всегда принимает только два параметра: $content и $conf. Первый в данном случае не используется, а во втором содержится массив TS-параметров.

Ссылка ведёт на описание userFunc-ов TS-условий, это совсем другое!

В функцию плагина можно передать данные следующими способами:
1) через TS-параметры, например
lib.items = USER
lib.items{
userFunc = tx_class->main
topic = 15
}
PHP код:
class tx_class{
function 
main($content,$conf){
 echo 
$conf['topic'];//выведет "15"
}

2) через флексформу
3) через внешнее окружение - GET/POST, кроме того, существует множество тайпо3-объектов с нужными параметрами. $GLOBALS['TSFE']->id, например, содержит id текущей страницы.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 14.05.2007, 18:32   #2
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Большое спасибо.
Да, я путаюсь, поэтому завёл в нашей интранет-вики уже 2 доки по TYPO3.
Разжёвываю там себе переваренное, чтоб не забыть.
Ну, у меня не плагин, просто PHP-класс, попробую завтра TS-параметры.
2) пропускаю, мал ещё (а можно ткнуть в пример?)
3) интересует значение ID страницы в самом TS, а не в PHP
Код:
lib.items = USER
lib.items{
userFunc = tx_class->main
topic = переменная_c_ID_страницы
}
c0d3r вне форума   Ответить с цитированием
Старый 14.05.2007, 19:52   #3
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Если я правильно вас понимаю, вам нужно нечто типа
Код:
lib.items = USER
lib.items{
userFunc = tx_class->main
topic.data = page:id
}
PHP код:
class tx_class extends tslib_pibase{
 function 
main($cnt,$conf){
  
$topic $this->cObj->stdWrap($conf['topic'],$conf['topic.']);
  return 
$topic;
 }

__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 15.05.2007, 10:09   #4
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Опять замечу, что речь идёт не о плагине, а о отдельном от TYPO3 классе.
PHP код:
class user_class {
 function 
test($topic){
...
  return 
$content;
 }

В метод test мне нужно передать параметр из TS.

Из Вашего примера выше я понял, что это возможно:
Цитата:
Сообщение от void Посмотреть сообщение
1) через TS-параметры, например
lib.items = USER
lib.items{
userFunc = tx_class->main
topic = 15
}
но в следующим Вашем ответе TS выглядит уже немного другим.

Пошёл пробовать.
Попробовал. Код topic = 15 через TS не катит.

Последний раз редактировалось c0d3r; 15.05.2007 в 10:34
c0d3r вне форума   Ответить с цитированием
Старый 15.05.2007, 13:15   #5
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от c0d3r Посмотреть сообщение
Опять замечу, что речь идёт не о плагине, а о отдельном от TYPO3 классе.
А какая разница?
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 15.05.2007, 13:22   #6
c0d3r
Senior Member
 
Регистрация: 13.12.2006
Адрес: ~msk
Сообщений: 277
По умолчанию

Может быть, это?
PHP код:
... extends tslib_pibase{... 
c0d3r вне форума   Ответить с цитированием
Старый 15.05.2007, 14:48   #7
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Да это не влияет, собственно. Всё что есть USER, может считаться плагином.
Неясно, почему не катит topic = 15 и чем вас не устраивает вариант topic.data = page:title? Можно вообще написать нечто вроде
Код:
lib.items = USER
lib.items{
  userFunc = tx_myclass->main
  topic = TEXT
  topic.data = page:title
  topic.wrap = <h1>|</h1>
}
PHP код:
class tx_myclass{
  function 
main($cnt,$conf){
      
$cobj t3lib_div::makeInstance('tslib_cObj');
      return 
$cobj->cObjGetSingle($conf['topic'],$conf['topic.']);
  }

Опишите лучше свою цель. Чего вы хотите-то?)
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров во flash filippoff Общие вопросы 5 18.02.2007 15:32
передача данных между двумя сайтами Melnichuk Общие вопросы 8 02.06.2006 14:15
Передача переменных между шаблонами Lato Sergey Общие вопросы 0 05.09.2005 11:16
Передача данных методом POST из одной формы в другую Юрий Общие вопросы 1 19.02.2004 20:01
Как реализовать передачу параметров для кода PHP ? Comwad Общие вопросы 1 20.11.2003 13:36


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


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

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