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

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 10.02.2012, 12:44   #1
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
Exclamation листинг и редактирование в mod1

cnолкнулся с проблемой на которую пока не нашел ответа, буду рад любой помощи

создал кикстартером модуль для бэкенда и пара таблиц
отметил нужные галочки

получил вывод моих элементов и создание их на страницах в модуле web->list

теперь мне нужно сделать чтоб они там не выводились и не редактировались а чтоб листинг и редактирование происходило в моем модуле web->test
3ton вне форума   Ответить с цитированием
Старый 10.02.2012, 16:13   #2
Dmitry Dulepov
Продвинутый
 
Аватар для Dmitry Dulepov
 
Регистрация: 28.04.2010
Сообщений: 73
По умолчанию

$TCA[$tableName]['ctrl']['hideTable'] = true;
Dmitry Dulepov вне форума   Ответить с цитированием
Старый 10.02.2012, 17:08   #3
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

Цитата:
Сообщение от Dmitry Dulepov Посмотреть сообщение
$TCA[$tableName]['ctrl']['hideTable'] = true;
спасибо за проявленный интерес к моей проблеме, данную часть задачи я решил убиранием галок в кикстарте при редактировании таблицы

теперь интересует вторая часть вопроса каким образом мне сделать листинг данных

к примеру вот тут
http://doxygen.frozenkiwi.com/typo3/...hp_source.html

нашел интересный кусочек кода


Код:
$dblist = t3lib_div::makeInstance('localRecordList');
$dblist->backPath = $BACK_PATH;
$dblist->script = t3lib_BEfunc::getModuleUrl('web_list', array(), '');
$dblist->calcPerms = $BE_USER->calcPerms($this->pageinfo);
$dblist->thumbs = $BE_USER->uc['thumbnailsByDefault'];
$dblist->returnUrl=$this->returnUrl;
$dblist->allFields = ($this->MOD_SETTINGS['bigControlPanel'] || $this->table) ? 1 : 0;
$dblist->localizationView = $this->MOD_SETTINGS['localization'];
$dblist->showClipboard = 1;
$dblist->disableSingleTableView = $this->modTSconfig['properties']['disableSingleTableView'];
$dblist->listOnlyInSingleTableMode = $this->modTSconfig['properties']['listOnlyInSingleTableView'];
$dblist->hideTables = $this->modTSconfig['properties']['hideTables'];
$dblist->tableTSconfigOverTCA = $this->modTSconfig['properties']['table.'];
$dblist->clickTitleMode = $this->modTSconfig['properties']['clickTitleMode'];
$dblist->alternateBgColors=$this->modTSconfig['properties']['alternateBgColors']?1:0;
$dblist->allowedNewTables = t3lib_div::trimExplode(',', $this->modTSconfig['properties']['allowedNewTables'], 1);
$dblist->deniedNewTables = t3lib_div::trimExplode(',', $this->modTSconfig['properties']['deniedNewTables'], 1);
$dblist->newWizards=$this->modTSconfig['properties']['newWizards']?1:0;
$dblist->pageRow = $this->pageinfo;
$dblist->counter++;
$dblist->MOD_MENU = array('bigControlPanel' => '', 'clipBoard' => '', 'localization' => '');
$dblist->modTSconfig = $this->modTSconfig;
думаю чтото похожее есть и в ядре ТУПО3 отвечающее за вывод листинга

возможно ктото уже сталкивался?

кстати, Дмитрий, перечитываю сейчас Вашу книгу "Typo3 Extension Development" там тоже не нахожу выведение списка в своем модуле...

поправьте меня, возможно плохо ищу...

Последний раз редактировалось 3ton; 10.02.2012 в 17:43
3ton вне форума   Ответить с цитированием
Старый 10.02.2012, 18:30   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Пример собственного BE модуля есть в эксте tt_news папка \mod1 (в BE это News Admin). Там как раз то что вам нужно.
dmartynenko вне форума   Ответить с цитированием
Старый 10.02.2012, 18:45   #5
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
Пример собственного BE модуля есть в эксте tt_news папка \mod1 (в BE это News Admin). Там как раз то что вам нужно.
спасибо, я заметил Вы часто на этот модуль ссылаетесь

Код:
	function displayNewsList()	{
		$content = '';

		$this->initSubCategories();

		$table = 'tt_news';
		$dblist = t3lib_div::makeInstance('tx_ttnews_recordlist');

		$dblist->backPath = $GLOBALS['BACK_PATH'];
		$dblist->script = $this->script;
		$dblist->doEdit = $this->mayUserEditArticles;
		$dblist->ext_CALC_PERMS = $this->newArticleCalcPerms;
		$dblist->perms_clause = $this->perms_clause;
		$dblist->agePrefixes = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.minutesHoursDaysYears');
		$dblist->id = $this->id;
		$dblist->newRecPid = $this->newArticlePid;
		$dblist->singlePid = $this->singlePid;
		$dblist->selectedCategories = $this->selectedCategories;
		$dblist->category = $this->category;
		$dblist->returnUrl = t3lib_extMgm::extRelPath('tt_news').'mod1/'.$dblist->listURL($this->id,FALSE);
		$dblist->excludeCats = $this->excludeCats;
		$dblist->includeCats = $this->includeCats;
		$dblist->isAdmin = $this->isAdmin;
		$dblist->current_sys_language = $this->current_sys_language;
		$dblist->showOnlyEditable = $this->mData['showOnlyEditable'];
		$dblist->pidList = $this->pidList;
		$dblist->editablePagesList = $this->editablePagesList;

		$dblist->start($this->id,$table,$this->pointer,$this->search_field,$this->searchLevels,$this->showLimit);

		$externalTables[$table][0]['fList'] = $this->fieldList;
		$externalTables[$table][0]['icon'] = $this->TSprop['list.']['icon'];

		$dblist->externalTables = $externalTables;
		$dblist->no_noWrap = TRUE;
		$dblist->lTSprop = $this->TSprop['list.'];
		$dblist->thumbs = $this->thumbs;
		$dblist->pObj = &$this;

		$dblist->generateList();

		if (is_array($this->TSprop['list.']['show.']) && $this->TSprop['list.']['show.']['search']) {
			$search = $this->displaySearch($dblist->listURL($this->id,FALSE));
			$content .= '<div style="float:right;">'.$search.'</div>';
		}

		$content .= $this->renderListCheckBoxes();
		$content .= $this->getListHeaderMsg($dblist);
		$content .= $dblist->HTMLcode;

		$content = '<form action="'.htmlspecialchars($dblist->listURL()).'" method="post" name="dblistForm">'.$content.'</form>';


		return '<div id="ttnewslist">'.$content.'</div>';
	}
но они используют свой инстанс для генерации таблицы, мне бы хотелось узнать о встроенном в typo3




думаю копать следует в этом направлении

http://api.typo3.org/typo3v4/45/html...hp_source.html

метод public function render
Код:
00086         public function render($tableName, array $fieldList = array(), $storagePid = NULL, $levels = 0, $filter = '', $recordsPerPage = 0, $sortField = '', $sortDescending = FALSE, $readOnly = FALSE, $enableClickMenu = TRUE, $clickTitleMode = NULL, $alternateBackgroundColors = FALSE) {
00087                 $pageinfo = t3lib_BEfunc::readPageAccess(t3lib_div::_GP('id'), $GLOBALS['BE_USER']->getPagePermsClause(1));
00088 
00089                 $dblist = t3lib_div::makeInstance('localRecordList');
00090                 $dblist->backPath = $GLOBALS['BACK_PATH'];
00091                 $dblist->pageRow = $pageinfo;
00092                 if ($readOnly === FALSE) {
00093                         $dblist->calcPerms = $GLOBALS['BE_USER']->calcPerms($pageinfo);
00094                 }
00095                 $dblist->showClipboard = FALSE;
00096                 $dblist->disableSingleTableView = TRUE;
00097                 $dblist->clickTitleMode = $clickTitleMode;
00098                 $dblist->alternateBgColors = $alternateBackgroundColors;
00099                 $dblist->clickMenuEnabled = $enableClickMenu;
00100 
00101                 if ($storagePid === NULL) {
00102                         $frameworkConfiguration = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
00103                         $storagePid = $frameworkConfiguration['persistence']['storagePid'];
00104                 }
00105 
00106                 $dblist->start($storagePid, $tableName, (integer)t3lib_div::_GP('pointer'), $filter, $levels, $recordsPerPage);
00107                 $dblist->allFields = TRUE;
00108                 $dblist->dontShowClipControlPanels = TRUE;
00109                 $dblist->displayFields = FALSE;
00110                 $dblist->setFields = array($tableName => $fieldList);
00111                 $dblist->noControlPanels = TRUE;
00112                 $dblist->sortField = $sortField;
00113                 $dblist->sortRev = $sortDescending;
00114 
00115                 $dblist->script = $_SERVER['REQUEST_URI'];
00116                 $dblist->generateList();
00117 
00118                 return $dblist->HTMLcode;
00119         }
уж очень похоже на то что я ищу

Последний раз редактировалось 3ton; 10.02.2012 в 19:01
3ton вне форума   Ответить с цитированием
Старый 10.02.2012, 19:08   #6
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Экст tt_news популярен -> его много кто использует -> значит он вполне рабочий и содержит мало ошибок -> значит можно рекомендовать его как пример

А толку вам от встроенного если вы наверняка захотите какую-то уникальную нужную вам функциональность?

Ну ладно, вот еще один пример: templavoila\mod1\class.tx_templavoila_mod1_recordl ist.php

Код:
require_once(PATH_t3lib . 'class.t3lib_recordlist.php');
require_once(PATH_typo3 . 'class.db_list.inc');
require_once(PATH_typo3 . 'class.db_list_extra.inc');

// Need List lables for delete confirmation
$LANG->includeLLFile('EXT:lang/locallang_mod_web_list.xml');

/**
 * Extension of standard List module
 *
 * @author		Dmitry Dulepov <dmitry@typo3.org>
 * @package		TYPO3
 * @subpackage	tx_templavoila
 */
class tx_templavoila_mod1_recordlist extends localRecordList {
dmartynenko вне форума   Ответить с цитированием
Старый 13.02.2012, 21:06   #7
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

я оказался прав

используя
$dblist = t3lib_div::makeInstance('localRecordList');

можно выводить листинг элементов таблицы в своем расширении аналогичный режиму Web->List с контролами и прочим

теперь возникла следущая проблема которую можно решить 2-мя путями

1. добавить в таблицу к кнопкам (редактирование, инфо, удаление...) своей кнопки с нужным функционалом

2. в режиме редактирования(создания) элемента таблицы добавить добавление другого контента по примеру того как в расширении t3blog создавая статью можно добавить несколько различных элементов контента

http://typo3.org/typo3temp/tx_terdoc...79A801DB4E.png

на данном рисунке они в разделе "Your contents"
3ton вне форума   Ответить с цитированием
Старый 13.02.2012, 21:13   #8
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

А как формулируется новая проблема?

"Your contents" похоже на поле типа IRRE (http://wiki.typo3.org/Inline_Relational_Record_Editing)
dmartynenko вне форума   Ответить с цитированием
Старый 14.02.2012, 00:54   #9
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
А как формулируется новая проблема?

"Your contents" похоже на поле типа IRRE (http://wiki.typo3.org/Inline_Relational_Record_Editing)
спасибо!!! а Вы случаем не телепат????

это и есть моя проблема - необходимость товару добавить множество цен в зависимости от какой-либо характеристики...

именно как отображено на Вашей ссылке на картинке

теперь осталось понять как это реализовать.

Буду рад любой помощи
3ton вне форума   Ответить с цитированием
Старый 14.02.2012, 18:10   #10
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Я отвечал вам (а может не вам) в другой ветке http://forum.typo3.biz/showthread.php?p=33079#post33079. В кратце - не факт что IRRE удобен во всех случаях.

IRRE штука простая - две таблицы и настройка поля-связки в конфигурации TCA родительской таблицы. Есть экст-пример irre_tutorial
dmartynenko вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему-то не хочет работать редактирование текста Максим Ботенко TYPO3 хостинг 3 29.04.2010 12:07
pdf листинг с предосмотром federico Общие вопросы 3 19.02.2009 11:51
FE редактирование "Logout from CMS" margol Общие вопросы 0 24.12.2008 15:53
Разграничение прав на редактирование через FE margol Общие вопросы 3 13.12.2007 20:54
Возможно ли редактирование HTML после TemplaVoila! logovas Общие вопросы 9 30.03.2007 21:05


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


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

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