Эрадж Шамс

Эрадж Шамс

С нами с 07 июня 2015; Место в рейтинге пользователей: #448
Эрадж Шамс
10 июня 2015, 15:41
0
Установил Console, выполнил код:
<?php
$q = $modx->newQuery('modResource');
// Дальше несколько строк с критериями для выборки ресурсов. Например, ресурсы с шаблоном 2
$q->where('template' => 4);
$resources = $modx->getIterator('modResource', $q);
foreach ($resources as $resource) {
$resource->setTVValue('tags', $resource->introtext);
$resource->save();
}

Но выходит ошибка: Parse error: syntax error, unexpected T_DOUBLE_ARROW in
С чем может быть связано?
Эрадж Шамс
10 июня 2015, 15:12
0
Спасибо огромное, сработал:
switch ($modx->event->name) {
	case 'OnDocFormSave':
		if ($resource->template == 3) {
			$resource->setTVValue('tvtag', $resource->introtext);
			$resource->save();
		}
		break;
}
Только вот он переносит, если сохранить документ, а как сделать, чтобы он разом перенес во всех (около 600) документах?

А работает и код Михаила и код Максима, но опять же только если сохранить ресурс
Эрадж Шамс
10 июня 2015, 14:33
0
Спасибо большое, но может я что-то не правильно делаю. Как правильно вызвать плагин?
Создал плагин perenos с кодом:
<?php
$q = $modx->newQuery('modResource');
// Дальше несколько строк с критериями для выборки ресурсов. Например, ресурсы с шаблоном 2
$q->where('template' => 4);
$resources = $modx->getIterator('modResource', $q);
foreach ($resources as $resource) {
	$resource->setTVValue('tags', $resource->introtext);
	$resource->save();
}
А вот что делать дальше не знаю)
Эрадж Шамс
10 июня 2015, 12:11
0
Василий, Михаил, спасибо Вам за ответы. Тоже была идея перекинуть значения из introtext в tv-параметр, но опять же не знаю как(( Руками не очень хочется, так как займет дней 5 (около 600 страниц). Прошерстил форумы, но ответа не нашел(
Эрадж Шамс
09 июня 2015, 17:28
0
Ооо, буду очень признателен, потому что в php ни бум-бум
Эрадж Шамс
09 июня 2015, 17:13
0
Скорее всего да, только вот в какую сторону рыть не знаю ((
Эрадж Шамс
09 июня 2015, 11:10
0
Я не нашел адекватных аналогов tagLister, к сожалению.
Вызов облака тегов такой: [[tagLister? &parent=`1` &tv=`tags` &sortBy=`tag` &target=`562` &limit=`50`]], а мне нужно вместо &tv=`tags` — &tv=`introtext`, но с introtext taglister не работает
Эрадж Шамс
08 июня 2015, 12:54
0
Знаю, знаю, поэтому и хочу чтобы было максимально понятно и достаточно ограниченно) новый параметр сделаю чисто числовой.
Спасибо Вам за ответ.
Эрадж Шамс
08 июня 2015, 11:06
+1
Спасибо большое, но думаю лучше все сделать по нормальному) просто добавить в этот блок новый параметр :)
Эрадж Шамс
07 июня 2015, 18:07
0
Хахаха))) Спасибо, Василий :)
Эрадж Шамс
07 июня 2015, 17:59
0
В том то дело, что «Артикул» у меня уже есть.
Хотелось чтобы в этом блоке было 4 параметра: Цена, Артикул, Номер и Объем.
Я пытался создать свои tv-параметры, но никак не мог запихнуть их в этот блок, вот и пошел по пути переименования Веса в Номер и Старой цены в Объем.
Объем у меня как раз формата типа 10.00, а вот Номер нужен формата 001

Я извращаюсь, наверняка, из-за того, что чего-то не знаю :((
Эрадж Шамс
07 июня 2015, 17:54
0
Спасибо за ответ, Василий. Так я же переделал «Вес» в «Номер», а номер мне нужен формата «001»