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

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 01.02.2016, 17:58   #1
iMoD
Новенький
 
Регистрация: 20.01.2016
Сообщений: 19
Exclamation Вывод данных объекта(массива) в шаблоне

Доброго времени суток всем. Кто знает, как инициализировать объект с данным или массив, чтобы его можно было вывести в шаблоне. Примерно в таком виде:
Код HTML:
<f:for each="{obj}" as="item">
    {item}
</f:for>
Знаю, что данный объект можно инициировать в самом контроллере. создавая при этом свой модуль, потом вызывать в качестве плагина на странице, где вы хотите вывести данные. Такой способ тоже пробовал, но он очень замудренный, чтобы его разобрать с первого раза.
Подскажите какие еще есть варианты.
iMoD вне форума   Ответить с цитированием
Старый 01.02.2016, 18:59   #2
Manas
Senior Member
 
Аватар для Manas
 
Регистрация: 06.12.2006
Адрес: Санкт-Петербург
Сообщений: 239
Отправить сообщение для Manas с помощью ICQ Отправить сообщение для Manas с помощью Skype™
По умолчанию

Если это не будет плагин и его контроллер, как система будет знать какой объект вы собираетесь выводить?
__________________
Дмитрий Васильев, "T3 студия"
По всем вопросам связанным с TYPO3, пишите пожалуйста сюда https://vk.com/t3studio
www.typo3.ru.net
Manas вне форума   Ответить с цитированием
Старый 02.02.2016, 13:08   #3
iMoD
Новенький
 
Регистрация: 20.01.2016
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Manas Посмотреть сообщение
Если это не будет плагин и его контроллер, как система будет знать какой объект вы собираетесь выводить?
Я вас понял. Проблема в том, что я не могу подключить к системе самый простой контроллер. Может есть вариант вызвать функцию в шаблоне через TypoScript, чтобы функция возвращала массив данных. Наподобие такого варианта:
PHP код:
page PAGE
page.10 
USER_INT
page.10 
{
  
userFunc user_printTime
  
# Include the PHP file with our custom code
  
includeLibs fileadmin/example_time.php

iMoD вне форума   Ответить с цитированием
Старый 02.02.2016, 14:48   #4
Николай Сипко
Senior Member
 
Регистрация: 17.09.2012
Сообщений: 675
По умолчанию

А какой у вас шаблон? "Примерно в таком виде"?

TYPO3 Fluid template tutorial
http://typo3buddy.com/typo3-template-tutorial/fluid/

TYPO3 Fluid: Create a Fluid content template file
The file content will look like this:
<div id="content">
<div id="content_menu">
<f:cObject typoscriptObjectPath="lib.content_menu" />
</div>
<div id="content_main">
<f:format.raw>{content_main}</f:format.raw>
</div>
<div class="clearer"></div>
</div>
=======

TYPO3 Fluid: Create a backend layout
You'll name this backend layout "Main 1 column with menu" and put the following code in the "Config" box:

backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content main (with menu)
colPos = 0
}
}
}
}
}
=======

TYPO3 Fluid: Use the backend layout on all pages

TYPO3 Fluid: Update the typoscript "Main template"
page.10 = FLUIDTEMPLATE
page.10 {
format = html
file = fileadmin/templates/main_1_column_with_menu.html
variables {
content_main < styles.content.get
content_main.select.where = colPos = 0
}
}
=======
TYPO3 Fluid: Add content to the home page

<div id="container">
<div id="container_header_bg">
<div id="container_header_top">
<f:render partial="header_top" arguments="{_all}" />
</div><!-- container_header_top -->
<div id="header_mobile">
<img src="/fileadmin/templates/images/mobile-menu_white.png" id="mobile_menu" alt="menu" title="menu" />
</div>
<div id="container_header_menu">
<div id="header_menu">
<f:cObject typoscriptObjectPath="lib.header_menu" />
</div><!-- header_menu -->
</div><!-- container_header_menu -->
</div><!-- container_header_bg -->
<div id="container_header_image">
<div id="header_image">
<f:cObject typoscriptObjectPath="lib.header_image" />
</div><!-- header_image -->
</div><!-- container_header_image -->
<div id="container_breadcrumb">
<div id="breadcrumb">
<f:cObject typoscriptObjectPath="lib.breadcrumb" />
</div><!-- breadcrumb -->
</div><!-- container_breadcrumb -->
<div id="container_content">
<f:render section="content" />
</div><!-- container_content -->
<div id="container_footer">
<f:render partial="footer" arguments="{_all}" />
</div><!-- container_footer -->
</div><!-- container -->
=======

Тогда можно вставлять контент и расширения через backend_layout
http://forum.typo3.biz/showthread.php?p=40299#post40299

О создании расширений
https://drive.google.com/file/d/0ByA...t?pref=2&pli=1

C точки зрения банальной эрудиции, каждый индивидуум, цинизм помыслов которого ассоциирует концепции парадоксальных иллюзий, просто не может не игнорировать критерии утопического субъективизма. (Иммануил Кант)
Николай Сипко вне форума   Ответить с цитированием
Старый 02.02.2016, 18:18   #5
iMoD
Новенький
 
Регистрация: 20.01.2016
Сообщений: 19
Exclamation

Цитата:
Сообщение от Николай Сипко Посмотреть сообщение
А какой у вас шаблон? "Примерно в таком виде"?

TYPO3 Fluid template tutorial
http://typo3buddy.com/typo3-template-tutorial/fluid/

TYPO3 Fluid: Create a Fluid content template file
The file content will look like this:
<div id="content">
<div id="content_menu">
<f:cObject typoscriptObjectPath="lib.content_menu" />
</div>
<div id="content_main">
<f:format.raw>{content_main}</f:format.raw>
</div>
<div class="clearer"></div>
</div>
=======

TYPO3 Fluid: Create a backend layout
You'll name this backend layout "Main 1 column with menu" and put the following code in the "Config" box:

backend_layout {
colCount = 1
rowCount = 1
rows {
1 {
columns {
1 {
name = Content main (with menu)
colPos = 0
}
}
}
}
}
=======

TYPO3 Fluid: Use the backend layout on all pages

TYPO3 Fluid: Update the typoscript "Main template"
page.10 = FLUIDTEMPLATE
page.10 {
format = html
file = fileadmin/templates/main_1_column_with_menu.html
variables {
content_main < styles.content.get
content_main.select.where = colPos = 0
}
}
да, использую fluid template

Цитата:
Сообщение от Николай Сипко Посмотреть сообщение
C точки зрения банальной эрудиции, каждый индивидуум, цинизм помыслов которого ассоциирует концепции парадоксальных иллюзий, просто не может не игнорировать критерии утопического субъективизма. (Иммануил Кант)
iMoD вне форума   Ответить с цитированием
Старый 02.02.2016, 18:54   #6
Николай Сипко
Senior Member
 
Регистрация: 17.09.2012
Сообщений: 675
По умолчанию

Цитата:
Сообщение от iMoD Посмотреть сообщение
да, использую fluid template
У нас, у англицких лордов, принято на слово верить
Кстати, между нами, канадскими лесорубами говоря, в Templavoila templating engine создавать backend_layout, на мой взгляд, удобней
Николай Сипко вне форума   Ответить с цитированием
Старый 02.02.2016, 21:04   #7
iMoD
Новенький
 
Регистрация: 20.01.2016
Сообщений: 19
Lightbulb

Цитата:
Сообщение от Николай Сипко Посмотреть сообщение
У нас, у англицких лордов, принято на слово верить
Кстати, между нами, канадскими лесорубами говоря, в Templavoila templating engine создавать backend_layout, на мой взгляд, удобней
С Templavoila не работал. Хочу уже разобраться с fluid. Вот пробую инициализировать объект в контроллере, подключаю к странице в качестве плагина и ничего не происходит. Если подскажите, где я ошибся, то признателен. Знаю, что нюансов может быть очень много - от неправильного именования контроллера до использования устаревших конструкций. Может есть статьи или туториалы проверенные.
Скажу, что никак не могу подключить плагин к странице и уже давно этим страдаю. Строил плагин и через extension builder и по туториалу, но без толку. Использую Typo3 7.6.2
iMoD вне форума   Ответить с цитированием
Старый 02.02.2016, 21:14   #8
Manas
Senior Member
 
Аватар для Manas
 
Регистрация: 06.12.2006
Адрес: Санкт-Петербург
Сообщений: 239
Отправить сообщение для Manas с помощью ICQ Отправить сообщение для Manas с помощью Skype™
По умолчанию

Вы можете вызывать объекты из плагина через Typoscript примерно так

Код:
lib.myLib = USER
lib.myLib { 
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  pluginName = Myextension
  extensionName = Myextension
  controller = Item
  vendorName = Myvendor
    action = list
    switchableControllerActions {
      Item { 
        1 = list
      }
    }    
    settings =< plugin.tx_myextension.settings
    persistence =< plugin.tx_myextension.persistence
    view =< plugin.tx_myextension.view
}
И во fluid соответсвенно

Код:
<f:cObject typoscriptObjectPath="lib.myLib" />
Это будет плагин Myextension, контроллер Item, action List
__________________
Дмитрий Васильев, "T3 студия"
По всем вопросам связанным с TYPO3, пишите пожалуйста сюда https://vk.com/t3studio
www.typo3.ru.net

Последний раз редактировалось Manas; 02.02.2016 в 22:21
Manas вне форума   Ответить с цитированием
Старый 02.02.2016, 23:26   #9
Николай Сипко
Senior Member
 
Регистрация: 17.09.2012
Сообщений: 675
По умолчанию

Цитата:
Сообщение от iMoD Посмотреть сообщение
да, использую fluid template
"На самом деле я не так давно стал разбираться в TYPO3. Прочитав много кол-во статей я пришел к выводу, что fluid оптимальное решение (*ДЛЯ ВЫВОДА РАСШИРЕНИЙ), только порог вхождения гораздо выше, чем использовать готовые модули. Файлы шаблонов, скрипты, стили, картинки храню пока в папке fileadmin, но думаю со временем перекинуть шаблоны в виде модуля"
http://forum.typo3.biz/showthread.php?t=11955&page=2

Неужели "с разбегу" совершите переворот, "напейсав шаблон в виде модуля"? Ведь Template как модуль в TYPO3 давно существует?
=======
Вы не можете "подключить к странице" плагин, который "строил и через extension builder и по туториалу, но без толку", и стабильный js_paginate

Может, следует подключать их в backend_layout страниц, которые "базируются на трех частях.
Часть 1: Шаблон HTML
Часть 2: Шаблон Typo3
Часть 3: CSS Таблица стилей"
=======
И бесплатный совет (чтобы "снизить порог вхождения"):
http://forum.typo3.biz/showthread.php?t=11883
А спасибо, не надо
Николай Сипко вне форума   Ответить с цитированием
Старый 17.02.2016, 15:06   #10
iMoD
Новенький
 
Регистрация: 20.01.2016
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Николай Сипко Посмотреть сообщение
Может, следует подключать их в backend_layout страниц, которые "базируются на трех частях.
Часть 1: Шаблон HTML
Часть 2: Шаблон Typo3
Часть 3: CSS Таблица стилей"
Доброго времени суток! После долгих поисков, как создать свой плагин я столкнулся с проблемой, что не могу вывести данные плагина, который должен возвращать в шаблоне. Хотелось бы вывести какие-либо возвращающие данные с плагина хоть каким-нибудь способом. Вы упомянули выше, что плагины можно подключать через backend_layout. Как вы подключаете плагин через backend_layout, чтобы плагин заработал.
Благодарю вас за мануал по typo3 - весьма полезный. За ранее спасибо.
iMoD вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TemplaVoila: Изменение Структуры Данных (DS). Вывод в (BE). thebat Общие вопросы 4 08.03.2019 15:12
Вывод данных средствами typoscript-а из собственной таблици thebat TypoScript практикум 16 24.10.2012 01:08
Многоязычный вывод данных через TS thebat TypoScript практикум 1 22.05.2012 18:02
Вывод данных в TCA brd Разработка расширений / TYPO3 extension development 2 23.02.2012 12:56
Вывод данных из userfunction musson Общие вопросы 1 26.05.2011 16:56


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


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

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