Вход

Просмотр полной версии : $TCA или что-то похожее. Нужна помощь в разработке ext


Smith
11.07.2007, 11:31
Привет, каммунити:)
Я делаю расширение. Планируется, что расширение будет регистрировать FE пользователей в определённую группы пользователей сайта. На страницу расширение ставится как контент. Подскажите как сделать что бы группу для регистрируемых пользователей можно было завать при редактировании контента страницы в которой отображается расширение.

demav
11.07.2007, 13:06
В стандартном feuser_admin есть поддержка такой возможности (опция в TS вроде называется usergroup).

Можно посмотреть исходники как там это реализовано

void
11.07.2007, 14:21
1) Стоит ли изобретать велосипед? Поставьте sr_feuser_register...
2) Видимо, не как контент вообще, а как плагин. Для настройки плагинов, вообще говоря, существуют флексформы. (http://wiki.typo3.org/index.php/Extension_Development,_using_Flexforms)

Smith
12.07.2007, 01:59
У меня не просто стандартная регистрация. Нужно разбивать пользователей на типы. Что-то вроде эконом, бизнес и элит-класс. Причем у разных групп разные реквизиты и механизмы работы с сайтом.
Поэтому я решил собрать свой "велик с моторчиком" из таблицы fe_users и ещё нескольких своих:-)

Хотелось бы чтобы именно как элемент контента настраивался, при этом не используя других расширений - узнаю что от куда берется и как работает.

Dutchak Vitaly
12.07.2007, 12:42
файл ext_tables.sql


CREATE TABLE tt_content (
default_usergroup int(11) NOT NULL ,
);


файл ext_table.php



...

$temp = Array (
"default_usergroup" => Array (
"exclude" => 1,
"label" => "Default usergorup",
"config" => Array (
"type" => "group",
"internal_type" => "db",
"allowed" => "fe_groups",
"size" => 1,
"maxitems" => 1,
)
)
);

t3lib_div::loadTCA('tt_content');
t3lib_extMgm::addTCAcolumns("tt_content",$temp,1);
t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key';
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='default_usergroup';





Думаю сами сможете разобраться куда именно это вставить