оки, создал я таблицу. правда у вас стоит кодировка cp1251
?
Дамп таблицы
CREATE TABLE IF NOT EXISTS `modx_custom_user_announcements` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`date_pub` datetime NOT NULL,
`type_deal` varchar(10) NOT NULL,
`place` text NOT NULL,
`object` text NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
далее. как я говорил уже выше, создал тестовый ресурс и вывзвал снипет.
Назовем наш пакет
Cua, (не люблю километровые названия), создали в папке core/components/ папку cua/model/schema/
В снипете, сначало генерирую схему, код снипета
$manager = $modx->getManager();
$generator= $manager->getGenerator();
$xml= $generator->writeSchema(MODX_BASE_PATH.'core/components/cua/model/schema/cua.mysql.schema.xml', 'cua', 'xPDOObject', 'modx_');
Запускаю тестовую страницу, в папку появился файл cua.mysql.schema.xml, открываю его, удаляю всё не нужное, кроме созданной таблицы.
Файл core/components/cua/model/schema/cua.mysql.schema.xml
<?xml version="1.0" encoding="UTF-8"?>
<model package="cua" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
<object class="CustomUserAnnouncements" table="custom_user_announcements" extends="xPDOSimpleObject">
<field key="user_id" dbtype="int" precision="11" phptype="integer" null="false" />
<field key="date_pub" dbtype="datetime" phptype="datetime" null="false" />
<field key="type_deal" dbtype="varchar" precision="10" phptype="string" null="false" />
<field key="place" dbtype="text" phptype="string" null="false" />
<field key="object" dbtype="text" phptype="string" null="false" />
<field key="content" dbtype="text" phptype="string" null="false" />
</object>
</model>
далее генерирую xPDO и создаем класс для работы
код снипета меняем на такой
$manager = $modx->getManager();
$generator= $manager->getGenerator();
$generator->parseSchema(MODX_BASE_PATH.'core/components/cua/model/schema/cua.mysql.schema.xml',MODX_BASE_PATH.'core/components/cua/model/');
Снова запускаем ресурс, в папке core/components/cua/model/ появилась папка
cua с схемой.
Теперь в снипете (в предыдущем топике, я подключение делал для работы с процессами и админкой и там нужно было ещё делать пару действий, так как вам этого не нужно, остановимся на минимуме - работа с таблицей)
подключаем наш класс
$modx->addPackage('Cua',MODX_BASE_PATH.'core/components/cua/model/','modx_');
и делаем тест, полный код тестового снипета
<?php
/**
* @package CustomUserAnnouncements
*/
//$manager = $modx->getManager();
//$generator= $manager->getGenerator();
//$xml= $generator->writeSchema(MODX_BASE_PATH.'core/components/cua/model/schema/cua.mysql.schema.xml', 'cua', 'xPDOObject', 'modx_');
//$generator->parseSchema(MODX_BASE_PATH.'core/components/cua/model/schema/cua.mysql.schema.xml',MODX_BASE_PATH.'core/components/cua/model/');
$modx->addPackage('Cua',MODX_BASE_PATH.'core/components/cua/model/','modx_');
$newItem = $modx->newObject('CustomUserAnnouncements');
$newItem->set('user_id',5);
$newItem->set('date_pub',strtotime("now"));
$newItem->set('content','Tra-lya-lya');
if(!$newItem->save()){
return 'Error save';
}
return 'Ok, save!';
Запускаем нашу тестовую страницу и видим
Ok, save!
Открываем БД, и смотри - YES!
Вот и всё.