Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
20 декабря 2013, 20:51
2
0
$id = $modx->resource->id;
$tpl = '@INLINE <a href="[[~[[+id]]]]">[[+pagetitle]]</a>';
$pdo = $modx->getService('pdoFetch');

$options = array(
	'innerJoin' => array(
		'msCategory' => array('on' => 'msCategoryMember.category_id = msCategory.id')
	),
	'select' => array('msCategory' => 'all'),
	'sortby' => 'msCategory.id'
);
$conditions = array('product_id' => $id);
$rows = $pdo->getCollection('msCategoryMember', $conditions, $options);

$output = '';
foreach ($rows as $row) {
	$output .= $pdo->getChunk($tpl, $row);
}

return $output;
Василий Наумкин
20 декабря 2013, 17:45
0
5000 тебя устроит?
Василий Наумкин
20 декабря 2013, 17:43
0
Вот здесь похожая ситуация, решили именно session_cookie_domain

И при каждом изменении проверять нужно заново, из анонимного режима — чтобы наверняка.
Василий Наумкин
20 декабря 2013, 13:29
0
Array() тоже всегда?
По идее, если создан новый альбом, там должен быть id новой записи.

Вообще, похоже, что процессор кривой у этого компонента.
Василий Наумкин
20 декабря 2013, 12:57
0
Видимо тогда нет смысла проверять isError — раз там всегда возвращается json.

Попробуй смотреть
print_r($response->getObject());
Василий Наумкин
20 декабря 2013, 10:34
0
1. Для переноса лучше использовать свежий импорт из csv — он работает с JSON полями и даже картинки в галерею запихивает.

2. Возвращаются все поля, просто для xtype = superbox нужен массив в определенном виде. В контроллере товара для этого добавлена специальная обработка.

Наверное, можно попробовать изменить процессор товара так, чтобы возвращал JSON поля в нужном формате, вместо обычных массивов.
Василий Наумкин
20 декабря 2013, 09:19
0
Попробуй узнать точнее, что за ошибка:
if ($response->isError()) {
	print_r($response->getAllErrors());die;
}
А то у тебя какой-то json возвращается, непонятно зачем.
Василий Наумкин
19 декабря 2013, 23:04
0
Как минимум прочитай вот эту заметку.

Затем разлогинься отовсюду и снова залогинься и проверяй
$modx->user->isAuthenticated($modx->context->key);

Ну и от куки тоже может зависить. Если домен www.site.ru, то кука выствится именно для него, а не для *.site.ru — это нужно менять в настройках.

Вообще всё, что касается авторизации можно увидеть в сессии:
print_r($_SESSION);
Авторизация там — это массив contextTokens, или как-то так.
Василий Наумкин
19 декабря 2013, 21:38
0
При отправке проверяется только поле content, все остальное отправлется как есть.
Возможно, не проходит проверку, но форма то отправляется.

В общем, или собирай и показывай на тестовом сайте, или разбирайся дальше сам.
Василий Наумкин
19 декабря 2013, 17:54
0
Так это свой виджет ExtJS нужно писать.

Ну и сейчас есть автодополнение, а в окошке — не будет.
Василий Наумкин
19 декабря 2013, 14:01
0
Email me to bezumkin@yandex.ru credentials for login on site, I`ll fix your snippet.

Василий Наумкин
19 декабря 2013, 13:52
0
Mark, i already gave you solution — modx.pro/help/2344/#comment-18888
Василий Наумкин
19 декабря 2013, 11:40
0
Here is correct SQL condition:
$query = $modx->sanitizeString($_GET['resSearch']);
$searchFilter = '["
	published = 1 AND
	deleted = 0 AND
	(
		pagetitle LIKE \"%'.$query.'%\" OR
		description LIKE \"%'.$query.'%\" OR
		longtitle LIKE \"%'.$query.'%\"
	)
"]';

return $modx->runSnippet('pdoResources', array(
	'parents' => 0,
	'showLog' => 1,
	'where' => $searchFilter
));
Василий Наумкин
19 декабря 2013, 11:30
1
0
I think, you have an error in $searchFilter or $tvFilter.

Try to debug you call using &showLog=`1`. For example:
[[!pdoResources?
	&parents=`0`
	&where=`{"pagetitle:LIKE":"%", "OR:description:LIKE":"%", "OR:longtitle:LIKE":"%"}`
	&showLog=`1`
]]

Will output:
0.0000741: pdoTools loaded
0.0000288: xPDO query object created
0.0029569: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000529: Processed additional conditions
0.0005138: Added where condition: pagetitle:LIKE=%, OR:description:LIKE=%, OR:longtitle:LIKE=%, modResource.published=1, modResource.deleted=0
0.0000181: Sorted by publishedon, DESC
0.0000050: Limited to 10, offset 0
0.0005889: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties` FROM `modx_site_content` AS `modResource` WHERE  ( `modResource`.`pagetitle` LIKE '%' OR `modResource`.`description` LIKE '%' OR `modResource`.`longtitle` LIKE '%' AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY publishedon DESC LIMIT 10 "
0.0001440: SQL executed
0.0001042: Total rows: 45
0.0001040: Rows fetched
0.0005629: Returning processed chunks
0.0054829: Total time
3 407 872: Memory usage

As you see — there is exists published and deleted conditions by default.
Added where condition: pagetitle:LIKE=%, OR:description:LIKE=%, OR:longtitle:LIKE=%, modResource.published=1, modResource.deleted=0
Василий Наумкин
19 декабря 2013, 08:53
0
Нет, невозможно.

1. Укажи в форме
<form enctype="multipart/form-data">

2. Проверяй, всё-таки, что приходит в $_POST['image'], по идее там должно быть имя файла, но вдруг оно и правда пустое? Потому что загружаемый файл попадает в массив $_FILES.

Меня уже запарили высказывания «В xx где-то стоит запрет на загрузку yy». Блин, исходники открыты — ищите эти запреты.
Василий Наумкин
18 декабря 2013, 17:19
0
Лог связан с заказом, а в нем есть такое поле — используй на здоровье.
Василий Наумкин
18 декабря 2013, 16:43
0
А ты не смотрел таблицу msOrderLog? Там фиксируются все изменения статуса заказа, от момента создания.