![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
#1 |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
cnолкнулся с проблемой на которую пока не нашел ответа, буду рад любой помощи
создал кикстартером модуль для бэкенда и пара таблиц отметил нужные галочки получил вывод моих элементов и создание их на страницах в модуле web->list теперь мне нужно сделать чтоб они там не выводились и не редактировались а чтоб листинг и редактирование происходило в моем модуле web->test |
|
|
|
|
|
#2 |
|
Продвинутый
Регистрация: 28.04.2010
Сообщений: 73
|
$TCA[$tableName]['ctrl']['hideTable'] = true;
|
|
|
|
|
|
#3 |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
спасибо за проявленный интерес к моей проблеме, данную часть задачи я решил убиранием галок в кикстарте при редактировании таблицы
теперь интересует вторая часть вопроса каким образом мне сделать листинг данных к примеру вот тут 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;
возможно ктото уже сталкивался? кстати, Дмитрий, перечитываю сейчас Вашу книгу "Typo3 Extension Development" там тоже не нахожу выведение списка в своем модуле... поправьте меня, возможно плохо ищу... Последний раз редактировалось 3ton; 10.02.2012 в 17:43 |
|
|
|
|
|
#4 |
|
Senior Member
|
Пример собственного BE модуля есть в эксте tt_news папка \mod1 (в BE это News Admin). Там как раз то что вам нужно.
|
|
|
|
|
|
#5 | |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
Цитата:
![]() Код:
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>';
}
думаю копать следует в этом направлении 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 |
|
|
|
|
|
|
#6 |
|
Senior Member
|
Экст 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 {
|
|
|
|
|
|
#7 |
|
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" |
|
|
|
|
|
#8 |
|
Senior Member
|
А как формулируется новая проблема?
"Your contents" похоже на поле типа IRRE (http://wiki.typo3.org/Inline_Relational_Record_Editing) |
|
|
|
|
|
#9 | |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
Цитата:
это и есть моя проблема - необходимость товару добавить множество цен в зависимости от какой-либо характеристики... именно как отображено на Вашей ссылке на картинке теперь осталось понять как это реализовать. Буду рад любой помощи |
|
|
|
|
|
|
#10 |
|
Senior Member
|
Я отвечал вам (а может не вам) в другой ветке http://forum.typo3.biz/showthread.php?p=33079#post33079. В кратце - не факт что IRRE удобен во всех случаях.
IRRE штука простая - две таблицы и настройка поля-связки в конфигурации TCA родительской таблицы. Есть экст-пример irre_tutorial |
|
|
|
![]() |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Почему-то не хочет работать редактирование текста | Максим Ботенко | 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 |