Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Володя
Володя
первый раз нормально скрипт отрабатывает, а затем сколько не запускай ошибку выдает.
сейчас попробовал по новой все поставил, все равно тоже самое…
P.S. Эх я и лохобоище… я задавал имена типа для теста 111 или 222… ток щас дошло что именно это ему и не нравилось!
Володя
Володя
василий подскажи пожалуйста, пробую твой скрипт для установки
Creating database
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '222 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci' at line 1
я понимаю что ошибка синтаксиса, но что ему не нравится то?
Наумов Алексей
Наумов Алексей
Я в целом согласен, что товар — это конечный элемент. Но уже на втором сайте получается так, что minishop используется не для магазина, а как структурированный каталог всевозможных элементов с удобной админкой. И вот получается так, что хорошо бы сделать вложенные ресурсы у товара :) Буду пробовать. Спасибо.
Василий Наумкин
Василий Наумкин
Я рассчитывал, что товар — это конечный элемент. Для соединения с другими товарами предусмотрены связи.

Конечно, можно создать дочерний документ у товара через MODX api, и я совершенно не знаю, какие могут быть проблемы.

Полагаю, любые.
Вася
Вася
Благодарю.
Если кому то понадобится, то примерно так

$parent = $modx->resource->get('id');
$childs = $modx->getChildIds($parent);
$q = $modx->newQuery('modResource');

$q->innerJoin('modTemplateVarResource','mTV','mTV.contentid = modResource.id');
$q->where(array('id:IN' => $childs,'mTV.tmplvarid'=>22));
$q->groupby('mTV.value');
$q->limit(1000);

$res = $modx->getCollection('modResource', $q);
foreach ($res as $v) {
        echo $v->getTVValue('manufacturer').'
';
}
Maria Rybalka
Maria Rybalka
Здравствуйте, Василий!

Подскажите, пожалуйста, откуда подтягивается стандартная папка assets для AssetsUrl и где ее можно изменить. После установки системы она была изменена и теперь картинки, например, отображаются с неправильными урл, хотя при этом загружаются куда нужно.

P.S. Отдельно огромное спасибо за компонент и его поддержку.
Алексей Карташов
Алексей Карташов
Хех, во дела…
В общем, у меня компонент был добавлен через addExtensionPackage() и из-за этого все мета-данные
брались из кэша, только совершенно не понятно из какого — папка core/cache чистилась полностью.

В общем, сделал removeExtensionPackage() и теперь таблицы генерируются нормально
Алексей Карташов
Алексей Карташов
Здесь какое дело…
При выполнении
$generator->parseSchema($xml, $Model);
на выходе в методе
parseSchema генерируются правильные map-файлы.
Затем, при выполнении
$manager->createObjectContainer('myClassObject');
в этом методе есть вызов $xpdo->getFieldMeta(), а вот уже в нём набиваются мета-данные для создания таблицы. И вот там-то в массиве $this->map лежат старые мета-данные. Как они туда попадают — для меня ещё загадка.
В removeObjectContainer() ничего сверхъестественного нет, чтобы повлиять на такой исход событий. Сейчас порою addPackage(). Может там какая веселуха происходит.
Алексей Карташов
Алексей Карташов
Но по логике, если б проблема была в схеме, то таблицы бы не создавались, а в логах были бы mysql-ошибки. Таковых не наблюдалось.
В сгенерированных map-файлах всё прописано согласно схемы, все поля, типы, индексы. А вот сами таблицы генерируются по старому.
Пути верные, сервер — простой шаред, в котором монтировать ничего нельзя, так что — нет, это тоже отпадает (к тому же до этого проблем не было).

Вот сейчас полностью снёс папку с кэшем, очистил папку модели компонента, убрал из xml-схемы всё — оставил описание одной таблицы и 2х полей и перегенерировал.
В итоге — сгенерировались xpdo-файлы этого класса, в map-ах только нужные 2 поля, в таблице — все старые 10 полей, плять. Со всеми индексами и типами.
Да откуда он вообще берёт эти старые данные? Мистики и волшебства в таких вопросах не бывает. Но вот в каком направлении копать?