Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   TemplaVoila 1.1.0 + RECORDS (http://forum.typo3.ru/showthread.php?t=1769)

Tod 03.09.2006 00:36

TemplaVoila 1.1.0 + RECORDS
 
В общем создаю элемент типа TypoScript Object Path... и для него в настройках шаблона пишу:

lib.myobject_stuff = RECORDS
lib.myobject_stuff.source = 1
lib.myobject_stuff.tables = tt_content

Получается я ссылаюсь на одну запись в элементе "Content element" из другой страницы, а мне бы хотелось получить данные сразу ко всему элементу. Как это сделать... ?
--
PS. Возможно мне бы мог помочь KB TV Content Slide, но можно ли там сделать так чтобы на подстраницах не отображались "ненужные" элементы контента... ну допустим на главной есть какой-то блок и при копировании на подстраницы он в меню Web-Page не отображался... ?

Pavel Antonov 03.09.2006 19:56

что еще "за одна запись в элементе". в таблице много записей, вы выбираете запись с Id=1. Что такое элементы?


можно объяснить?

Tod 03.09.2006 22:08

http://infostore.org/info/1687619/untitled.JPG

С помощью констукции, описано выше я могу вызвать 7,8 элемент по отдельности или вместе, а как обратиться ко всей колонке? (элементу типа Content element).

Dutchak Vitaly 04.09.2006 15:17

lib.content = CONTENT
lib.content.table = tt_content
lib.content.select {
pidInList = pid #id страницы
orderBy = sorting
}

Tod 05.09.2006 01:20

что-то код не сработало...
рисунок может слегка не удачный, но там не одна колонка как-бы... и делал я это с помощою TV... Это при стандартном создании шаблона без TV можно было бы использовать твою констукцию со строкой select.where = colPos = 1 и все бы получилось... а так что-то не хочет((

Valery Romanchev 05.09.2006 01:37

я делал такую штуку.

Написал PHP код (на основе KB TV Content Slide) который берет все элементы контента из заданной колонки (поля TV) c заданных страниц.

Ну а потом это вставляется через TS

Код:

includeLibs.user_lib = fileadmin/templates/tv_content_all_pages.php
lib.content_right1 = RECORDS
lib.content_right1 {
source.postUserFunc = user_tv_content->main
source.postUserFunc{
field = field_content_right2
storage_uid=64
exclude_page_uid= 93,95
#exclude_content_uid= 75,77
}
tables = tt_content
}


PHP код:

class user_tv_content {

function 
main($content,$conf)    {

//Array page
$page_id=intval($conf['storage_uid']);
//$page = $GLOBALS['TSFE']->sys_page->getPage($page_id);
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery('*''pages''uid='.$page_id"""","1");

if (
$page $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))    {
//t3lib_div::devLog( "!!", 'user_tv_content', 2);
//t3lib_div::devLog('storage_uid='.$conf['storage_uid'] , 'user_tv_content', 2);
//t3lib_div::devLog( $page['tx_templavoila_flex'], 'user_tv_content', 2);

$flexXML $page['tx_templavoila_flex'];
$XML t3lib_div::xml2array($flexXML);

$content$XML['data']['sDEF']['lDEF'][$conf['field']]['vDEF'];

t3lib_div::devLog"exclude_page_uid=".$conf['exclude_page_uid'], 'user_tv_content'2);

if (
$conf['exclude_page_uid']!=""){

    
$exclude_pages t3lib_div::trimExplode(','$conf['exclude_page_uid'], 1);
//t3lib_div::devLog( $exclude_pages[0]."  ".$exclude_pages[1], "exclude!!! = ",2);
/*
exclude_page_uid=9,5,4,3,84
exclude_content_uid=75
*/
$search=array_search($GLOBALS["TSFE"]->id$exclude_pages);
// t3lib_div::devLog( $search, "search!!! = ",2);
//$search = false;
//if ( (array_search($GLOBALS["TSFE"]->id, $exclude_pages) !== false) && ($conf['exclude_content_uid']!="") ) {

if (array_search($GLOBALS["TSFE"]->id$exclude_pages) !== false)  {

$content "";
/*
//t3lib_div::devLog( "exclude", 'user_tv_content', 2);
    $parts = t3lib_div::trimExplode(',', $content, 1);
$block=intval(array_search($conf['exclude_content_uid'], $parts));
//t3lib_div::devLog( "block=".$block, 'user_tv_content', 2);
//    unset($parts[$block]); 
array_splice($parts, $block, 1);
$content = implode(',', $parts);
//t3lib_div::devLog( "content=".$content, 'user_tv_content', 2);
*/

}
}

}

return 
$content;
}




Tod 18.10.2006 20:11

Только внедрил это ваше решение. Работает замечательно! И как раз то, что нужно... полезная вещица:)
exclude_content_uid я так понял не исключает элементы? (так для справки спрашиваю)
---
Еще появилась задачка сделать тоже как-бы копирование элемента на несколько подстаниц, но не типа content element, а "Plain input field"... можно как-то обратиться к нему через его название field_somename ?


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

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