Всего 123 788 комментариев

Дмитрий Александров
21 февраля 2013, 23:14
0
Спасибо огромное! Отличная идея!!!
Denys Butenko
21 февраля 2013, 23:00
0
Обожечтожеделать?
Василий Наумкин
21 февраля 2013, 21:55
0
В системных настройках включить публикацию по умолчанию.

Или добавить всем товарам поле published = 1, и указать соответствие при импорте.
Василий Наумкин
21 февраля 2013, 21:43
0
На здоровье!
Олег Трубин
21 февраля 2013, 21:42
0
Василий, всё работает!

Огромное Вам спасибо! Такую отзывчивую поддержку не часто встретишь даже для платных продуктов!
Василий Наумкин
21 февраля 2013, 21:39
0
Да, защита там есть.

А слово не в сниппете, а в чанке, перепутал. По баннеру кликнул, проверяй.
Олег Трубин
21 февраля 2013, 21:34
0
Я заменил это слово в плагине и в чанке, а в сниппете не нашёл.

Переход идёт по ссылкам идёт нормально, но вот счётчик не увеличивается.

Там может какая-нибудь защита от накрутки с одного IP?

risomusoreh.ru/ — Щёлкните, пожалуйста по верхнему баннеру в правой колонке))
Гаврилов Александр
21 февраля 2013, 21:33
0
Еще маленькая деталь, Василий, подскажите, как сделать так, чтобы при импорте все товары были опубликованы? А то галочка не стоит нигде.

Заранее благодарен!
Гаврилов Александр
21 февраля 2013, 21:30
0
Спасибо большое.
Все работает
Александр Наумов
21 февраля 2013, 21:28
0
Спасибо, буду знать!
Василий Наумкин
21 февраля 2013, 21:17
0
Функция filter_var появилась вроде как в php 5.2, а у тебя, видимо, еще более старая версия.
Попробуй переключить её в панели управления хостинггом.

Слово изменить можно только заменив его в сниппете и плагине.

Олег Трубин
21 февраля 2013, 21:15
0
Похоже всё так и обстоит(((

Fatal error: Call to undefined function filter_var() in /home/postum1/risomusoreh.ru/docs/core/components/bannery/processors/mgr/resource/getlist.class.php on line 14

Хостинг nic.ru не знаете как пофиксить, что включить?

И ещё вопрос:
У вас в качестве пути используется «bannerclick» поисковики к таким вещам могут относится отрицательно. Хочу изменить на какое-нибудь своё слово — не имеющее отношение к рекламе.

Не подскажите в каких файлах произвести замену?
Василий Наумкин
21 февраля 2013, 21:13
0
Вместо

if ($res = $modx->getObject('modResource', array('parent' => $category, 'pagetitle' => $product['pagetitle']))) {
	if ($mode == 'update') {
		$id = $res->get('id');
		$newproduct = array_merge($res->toArray(), $product, $ms);
		$newproduct['tags'] = $tags;
		$response = $modx->runProcessor(
			'mgr/goods/update'
			,$newproduct
			,array('processors_path' => MODX_CORE_PATH.'components/minishop/processors/')
		);
		if ($response->isError()) {
			return $modx->error->failure('Error on row '.$i.': '.$response->getMessage());
		}
		$modx->removeCollection('ModGallery', array('gid' => $id));
	}
	else {
		$i++;
		continue;
	}
}
else {
	$res = $modx->newObject('modResource');
	$res->fromArray($product);
	$newproduct = array_merge($res->toArray(), $product, $ms);
	$newproduct['tags'] = $tags;
	$response = $modx->runProcessor(
		'mgr/goods/create'
		,$newproduct
		,array('processors_path' => MODX_CORE_PATH.'components/minishop/processors/')
	);

	if ($response->isError()) {
		return $modx->error->failure('Error on row '.$i.': '.$response->getMessage());
	}
	else {
		$id = $response->response['object']['gid'];
		if (!$res = $modx->getObject('modResource', $id)) {
			return $modx->error->failure('Error on row '.$i.': '.print_r($response->response['object'],1));
		}
	}
}

Сделать вот так:

$res = $modx->newObject('modResource');
$res->fromArray($product);
$newproduct = array_merge($res->toArray(), $product, $ms);
$newproduct['tags'] = $tags;
$response = $modx->runProcessor(
	'mgr/goods/create'
	,$newproduct
	,array('processors_path' => MODX_CORE_PATH.'components/minishop/processors/')
);

if ($response->isError()) {
	return $modx->error->failure('Error on row '.$i.': '.$response->getMessage());
}
else {
	$id = $response->response['object']['gid'];
	if (!$res = $modx->getObject('modResource', $id)) {
		return $modx->error->failure('Error on row '.$i.': '.print_r($response->response['object'],1));
	}
}
Andrey Grachov
21 февраля 2013, 21:13
0
Если радиобаттоны имеют имя tv{$tv->id}[ {$item.value} ], то значение тв параметра по идее должно сохраняться, но вы потеряете в итоговом значении ключи этого массива. Лучше создать скрытое поле с именем tv{$tv->id} и при изменении радиобаттонов сериализовать в него нужное значение.
Гаврилов Александр
21 февраля 2013, 21:10
0
Подскажите, а что конкретно нужно изменить в коде, который вы показали, чтобы убрать эту проверку?
Василий Наумкин
21 февраля 2013, 21:10
0
Вот так надо смотреть ответ от сервера:
Василий Наумкин
21 февраля 2013, 21:08
0
Правильно, товар в категории должен быть с уникальным именем.

Как избавиться? Убрать проверку в скрипте импорта или переназвать товары, добавив в них изменяющийся параметр.
Василий Наумкин
21 февраля 2013, 21:00
0
В компоненте для проверки адреса используется функция filter_var. Рискну предположить, что у тебя на сервере с ней что-то не так.

Проверить можно одним способом — глянь в браузере, что приходит от сервера на запрос.
В гугле хроме это кнопка f12, там вкладка network И смотри запросы к connector.php, там вкладка response.

По идее, у тебя там должны быть или ошибка, или пустота.
Илья Уткин
21 февраля 2013, 20:56
0
Совершенно правильно. Но достаточно и одного дефиса. rtfm.modx.com/display/revolution20/Tag+Syntax