Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
19.03.2012, 14:45 | #1 |
Senior Member
Регистрация: 02.05.2011
Сообщений: 138
|
Новое поле для tt_news в TCA
всем - привет.
надо добавить четыре новых select/option поля из tt_address в одну из закладок tt_news. это я добавил в tca.php tt_news Код:
'partner1' => array ( 'exclude' => 1, 'label' => 'Partner 1', 'config' => array ( 'type' => 'select', 'items' => Array ( array( '', 0 ), ), 'foreign_table' => 'tt_address', 'foreign_table_where' => 'ORDER BY tt_address.last_name', 'size' => 1, 'minitems' => 0, 'maxitems' => 1, ) ), 'partner2' => array ( 'exclude' => 1, 'label' => 'Partner 2', 'config' => array ( 'type' => 'select', 'items' => Array ( array( '', 0 ), ), 'foreign_table' => 'tt_address', 'foreign_table_where' => 'ORDER BY tt_address.last_name', 'size' => 1, 'minitems' => 0, 'maxitems' => 1, ) ), 'auftraggeber1' => array ( 'exclude' => 1, 'label' => 'Auftraggeber 1', 'config' => array ( 'type' => 'select', 'items' => Array ( array( '', 0 ), ), 'foreign_table' => 'tt_address', 'foreign_table_where' => 'ORDER BY tt_address.last_name', 'size' => 1, 'minitems' => 0, 'maxitems' => 1, ) ), 'auftraggeber2' => array ( 'exclude' => 1, 'label' => 'Auftraggeber 2', 'config' => array ( 'type' => 'select', 'items' => Array ( array( '', 0 ), ), 'foreign_table' => 'tt_address', 'foreign_table_where' => 'ORDER BY tt_address.last_name', 'size' => 1, 'minitems' => 0, 'maxitems' => 1, ) ), Код:
$markerArray['###PARTNER1###'] = $row['partner1']; $markerArray['###PARTNER2###'] = $row['partner2']; $markerArray['###AUFTRAGGEBER1###'] = $row['auftraggeber1']; $markerArray['###AUFTRAGGEBER2###'] = $row['auftraggeber2']; Код:
###PARTNER1### ###PARTNER2### ###AUFTRAGGEBER1### ###AUFTRAGGEBER2### выбираю, сохраняю новость. на странице появляется не имя из tt_address, которое я вижу в select-списке, а uid! а мне-то нужно именно имя! хелп! Последний раз редактировалось Anlov; 19.03.2012 в 18:37 |
20.03.2012, 13:48 | #2 |
Senior Member
|
Было бы странно если бы увидели что-то другое.
Вообще-то вы идёте неправильным путем. Лезть в код чужого экста - значит терять возможность обновить его при необходимости на свежую версию (кстати tt_news на днях дорос до версии 3.2). Обычно для расширения TCA создается свой экст, в котором добавляется поле в sql + TCA сторонней таблицы. А для добавления новых маркеров в tt_news используется, например, экст ttnewsgenericmarkers. И потом магия TS (пример мой, но ваш будет похож): Код:
# настрока своих маркеров plugin.tt_news.genericmarkers { # используем в маркерах нижеперечисленные поля из записи tt_news data = uid,tx_ttnewspublisher_source # создаем значение для маркера ###PUBLISHER_LINK### publisher_link = COA publisher_link { # поле generic_tx_ttnewspublisher_source содержит значение # поля tt_news.tx_ttnewspublisher_source stdWrap.fieldRequired = generic_tx_ttnewspublisher_source stdWrap.dataWrap = <div class="news-single-publisher"><span class="label">{LLL:EXT:ttnews_publisher/locallang_db.xml:tx_ttnewspublisher_label}</span> |</div> # выборка из таблицы tx_ttnewspublisher_sources записи по uid # из tt_news.tx_ttnewspublisher_source и создание ссылки из # tx_ttnewspublisher_sources.publisher_name и tx_ttnewspublisher_sources.website 10 = RECORDS 10 { tables = tx_ttnewspublisher_sources source.field = generic_tx_ttnewspublisher_source conf.tx_ttnewspublisher_sources = TEXT conf.tx_ttnewspublisher_sources { field = publisher_name typolink.parameter.data = field:website } } } } |
20.03.2012, 20:35 | #3 |
Senior Member
Регистрация: 02.05.2011
Сообщений: 138
|
спасибо.
понятно, что было бы лучше свое расширение написать. но так как это будет мое первое расширение - сколько времени я на него убью? а заказчику, как обычно надо "вчера"... а сделать надо было так: в class.tx_ttnews.php вместо PHP код:
PHP код:
но свой экс, конечно, было бы правильнее. |
20.03.2012, 20:46 | #4 |
Senior Member
|
Не более 5 минут - в кикстартере выбираете "добавить поле в чужую таблицу", выбираете таблице tt_news, задаете тип поля, подписи и т.п. Сохраняете сгенерированный код расширения и устанавливаете его. Это все.
|
21.03.2012, 14:23 | #5 |
Senior Member
Регистрация: 02.05.2011
Сообщений: 138
|
а чуть поподробнее? блин, правда нет времени глубоко копать.
|
21.03.2012, 14:34 | #6 |
Senior Member
|
Да куда уж подробнее? Скриншот что-ли?
Попробуйте, если хоть раз пользовались кикстартером то у вас сразу получиться. |
22.03.2012, 15:36 | #7 |
Senior Member
Регистрация: 02.05.2011
Сообщений: 138
|
ни разу не пользовался. и найти чего-то почитать тоже не могу. не подскажете ссылку на доку, как с помощью кикстартера писать расширения?
|
22.03.2012, 15:49 | #8 |
Senior Member
|
Доку не подскажу, но тут все довольно очевидно.
Устанавливаете экст. kickstarter. В экст. менеджере в выпадающем списке появляется пункт "Create new extension" (не знаю, может и локализация для kickstarter есть). Попадаете в интерфейс как на скриншоте. Там задается конфигурация практически по всем возможностям плагинов для TYPO3 (языки для локализации, таблицы, FE модули, BE модули). И потом в "Total form" вы можете то что указали сохранить как экст (папка с файлами). Фактически полноценно создается только TCA для таблиц и полей. Остальное только как каркас (файлы плагинов и модулей которые вам нужно наполнить своим PHP кодом, пустые файлы TS шаблонов). |
22.03.2012, 17:52 | #9 |
Senior Member
Регистрация: 02.05.2011
Сообщений: 138
|
буду пробовать, спасибо.
|
06.04.2012, 17:09 | #10 |
Новенький
Регистрация: 26.10.2008
Адрес: Russia, Moscow
Сообщений: 19
|
Пытаюсь добавить новое поля в шаблон новостей с помощью Kickstarter wizard, ничего не получается. В итоге ничего не отображается, Как сделать так чтобы при добавлении ностей можно было помимо стандартных полей вывести и какой-нибудь второй заголовок?
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подойдет ли TYPO3 для информационного сайта? | vold57 | Вопросы выбора CMS | 19 | 07.12.2011 00:23 |
Вопрос по cookieDomain для доменов зеркал | Андрей Аксенов | Общие вопросы | 2 | 20.02.2011 17:40 |
Getting Started tutorial - полностью новое руководство для новичков | Андрей Аксенов | Мастер-класс | 0 | 09.12.2010 10:33 |
Что использовать для простого каталога? | cronfy | Магазины и каталоги для TYPO3 | 4 | 23.05.2008 12:36 |
Новое решение для user list archive | Valery Romanchev | Новости TYPO3-разработки | 0 | 27.03.2006 04:51 |