Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
18 января 2015, 13:49
0
Советую начать с modx.ws. Многие вопросы отпадут сами собой.
Сергей Шлоков
17 января 2015, 07:47
0
В новой версии исправлено. Только сначала лучше деинсталировать, чтобы вручную системные настройки не править.
Сергей Шлоков
17 января 2015, 07:42
0
В репозитории версия 1.0.0-rc2.
Ситуация в следующем. Ошибка возникает из-за нового поля в таблице. Я не знаю как его добавить в таблицу в установщике. В console код
Alter table `Table`ADD field
работает, а в ресолвере resolve.table нет. А удалять таблицу и создавать новую мне кажется не правильным. А так как пакет скачали единицы, то у большинства таких проблем не будет.
Исправить ошибку можно добавлением поля в таблицу Orphoman
resource_url varchar(40) not null
или выполнить код
$modelPath = $modx->getOption('core_path') . 'components/orphoman/model/';
$modx->addPackage('orphoman', $modelPath);
$table = $modx->getTablename('OrphoMan');
$sql = "ALTER TABLE {$table} ADD `resource_url` VARCHAR(40) NOT NULL";
$stmt = $modx->prepare($sql);
$stmt->execute();
П.С. Кстати, если знаешь как работать с таблицами при установке, подскажи. Спрашивал у Василия, но он видимо очень занят.
Сергей Шлоков
16 января 2015, 19:28
0
Оно не отвечает на вопрос «Откуда здесь берется кэширование?» Это мне важно для понимания принципов ModX, а фраза «чанк в этой конструкции абсолютно лишний» не дает разъяснений. Можете пояснить, что я сделал неправильно в предыдущем решении?
Причины могут быть разные, но это не важно, так как твой код не оптимален. Ты идешь сложным путем. Я тебе предложил упростить конструкцию и не париться. Хочешь разобраться почему твоя конструкция не работает, разбирайся. Кроме тебя это никому не интересно. Честно.
Решение, которое я рекомендую
// $tpl=`Adv` можно указать или в самом сниппете или в параметрах по умолчанию сниппета (или просто вызвать $modx->getChunk('Adv', $props);) 
[[!GetRandomAdv?]] - в обычных местах проекта
// Сниппет GetRandomAdv вызывается внутри сниппета GetStudios
[[!GetStudios?]] - в выводе ресурсов с которым я работаю
Сергей Шлоков
16 января 2015, 17:28
0
чанк в этой конструкции абсолютно лишний. В других местах тоже используй сниппет с шаблоном.
Сергей Шлоков
16 января 2015, 15:58
0
Я уже вставил в сниппет uniqid() вместо рекламы — во всех рекламных местах появляется один и тот же идентификатор, значит вывод чанка кэшируется.
Не совсем понятно, что ты имел ввиду. Вставляешь в сниппет, а кешируется чанк? Это как?
Сергей Шлоков
16 января 2015, 15:57
0
Попробуй заменить
$props['Advertisment'] = $n;
Сергей Шлоков
16 января 2015, 15:53
0
Тогда к теще лучше не ездить :)
Сергей Шлоков
16 января 2015, 15:45
0
Точно. С подробностями: «За 300 руб. — 6 процессов, лимит 45 с.».
Сергей Шлоков
16 января 2015, 12:24
0
Хорошая мысль, только miniShop2 изначально создавался под расширение, а Tickets — нет.
Это да. Но можно попробовать с минимальными затратами. Например, вот это шаг в сторону расширения.
Сергей Шлоков
16 января 2015, 11:37
+1
Мне кажется, при расширении Tickets двигаться надо в сторону miniShop2 — создавать отдельные дополнения, хочешь — расширяй, но отдельными компонентами. Как пример, TicketMessages. Т.е. по сабжу например TicketTags.
Сергей Шлоков
16 января 2015, 09:38
+1
А для совсем юной молодежи так :)

Сергей Шлоков
16 января 2015, 08:59
0
Судя по первой фотке, задача привлечь на хостинг молодое поколение. :)
Сергей Шлоков
15 января 2015, 12:10
0
Как к обычным переменным $discount, $parent.
И есть еще массив всех переменных сниппета $scriptProperties. Можно через него $scriptProperties['discount'] и т.п.
Сергей Шлоков
15 января 2015, 12:04
0
Исправил. Спасибо.
Отправил в репозиторий.
Сергей Шлоков
15 января 2015, 12:03
+4
Крутатень. Меняю CMPGenerator на UICMPGenerator. Кому нужен б/у CMPGenerator? Отдам не дорого. :)
Сергей Шлоков
15 января 2015, 11:38
0
Можно и так. Только
$modx->event->output('равны');
в этом событии не сработает.

Вот чуть измененный вариант
switch ($modx->event->name) {
	case 'OnDocFormRender':
		$_SESSION['discount'] = $resource->getTVValue('discount'); 
	break;
	case 'OnDocFormSave':
		$new_discount = $resource->getTVValue('discount'); 

		if($new_discount != $_SESSION['discount']){
			$modx->runSnippet('RecalcPrice',array('discount'=>$new_discount,'parent'=>$resource->id ));
		}
		unset($_SESSION['discount']);
	break;
}
В сниппете RecalcPrice меняешь цены согласно новой скидке для ресурсов из раздела, указанном в параметре parent.
Сергей Шлоков
15 января 2015, 10:28
0
А где менеджер меняет значение, в админке или на сайте?
Сергей Шлоков
14 января 2015, 13:12
0
На первых страницах 2012 год в перемешку с 2013.
Так же можно сделать, топ активных комментаторов.
Кстати, этот можно сделать простой сортировкой списка пользователей modx.pro/users. Также можно сделать и топ авторов.
Сергей Шлоков
14 января 2015, 12:34
0
Спорить не буду. Но мне медальки не нужны. Меня вычеркивайте из списка таких посетителей.:) не планирую фрилансить.
Для развития данного сообщества предложил бы добавить возможность поиска по пользователям в modx.pro/users.
Еще хотелось бы узнать по какому критерию сортируется этот список. Но это вопрос скорее к Василию.