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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
20 сентября 2013, 22:01
0
В наборах параметров Ticket и Comment.
Василий Наумкин
20 сентября 2013, 15:59
0
Зачем откликаться, если это есть в документации?

Расширяешь класс, прописываешь проверку кол-ва товара при добавлении в корзину. Если что — возвращаешь ошибку.
Василий Наумкин
20 сентября 2013, 12:36
0
Ну значит все в порядке, просто не смотри в логи.
Василий Наумкин
20 сентября 2013, 12:05
0
Там же понятно написано: failed to open stream: Permission denied

Проверяй права на /home/c/cl210391/public_html/assets/components/office/js/ — скрипт не может записать туда кэш лексикона.
Василий Наумкин
19 сентября 2013, 18:22
0
Я не знаю, что ты там делаешь, но очистка родителя тикета происходит при его создании.

Не должно с этим быть проблем. У меня же на сайте работает, не так ли?
Василий Наумкин
19 сентября 2013, 18:15
0
Кэш не почистил?
Василий Наумкин
19 сентября 2013, 17:10
0
Ты выбираешь комментарии, так?

У комментариев нет pagetitle и другого, они есть у документов. Документы цепляются к выборке и выставляются с префиксами, чтобы не мешать.

Префиксы эти можно увидеть в оригинальных чанках, например вот — [[+ticket.id]].

Так что, косяк не на TicketLatest!
Василий Наумкин
19 сентября 2013, 16:00
0
Он по понятиям косячит, или как? На счетчик не пробовал ставить?
Василий Наумкин
19 сентября 2013, 13:59
0
Думаю, да.

Но лучше еще погуглить.
Василий Наумкин
19 сентября 2013, 13:34
0
Насколько я помню, именно она именует PHPSESSID.

Так что, да.
Василий Наумкин
19 сентября 2013, 13:17
0
Попробуй добавить перед сохранением.

Я сейчас не соображу, как правильно должно быть, поэтому просто поиграйся.
У тебя есть метод для очистки и родителя и самого тикета — это clearCache().
Василий Наумкин
19 сентября 2013, 13:02
0
Надо чистить кэш родительской секции тикетов.

if ($parent = $resource->getOne('Parent')) {
	if ($parent instanceof TicketsSection) {
		$parent->clearCache();
	}
}
Василий Наумкин
19 сентября 2013, 12:47
0
Ну а как тогда в MODX работает сессия, без PHPSESSID?

Я сейчас в хроме удаляю куку, перезагружаю страницу и вижу новую, с другим значением. Из админки вышел, смотрю в анонимном режиме.

Так что, всё на месте.
Василий Наумкин
19 сентября 2013, 12:33
0
У MODX сессии хранятся в БД, и стартует он их сам, выставляя нужные куки.

Поэтому, делать ничего не нужно, просто обратись к $_COOKIE['PHPSESSID'] — должно работать.


А сейчас ты, как я думаю, просто мешаешь работать MODX изменениями php.ini.
Василий Наумкин
19 сентября 2013, 09:02
0
Чего переживать? Создай вопрос на bugs.modx.com
Если есть желание — предложи своё решение, а там пусть думают как лучше сделать.

В конце концов, процессор — это класс, и из него можно запускать методы отдельно — они там все public.
if ($processor = new modResourceDeleteProcessor($this->modx, $this->properties)) {
	$childrenIds = $processor->getChildrenIds();
	$processor->fireBeforeDelete($childrenIds);
	$processor->deleteChildren();
	// и так далее...
}
Василий Наумкин
19 сентября 2013, 08:50
0
Это однозначно ошибка.
Проверяется просто: через контекстное меню удалить стартовую страницу нельзя, а через редактирование — можно.

На мой взгляд, из процессора update нужно запускать процессоры publish и delete в нужных случаях, чтобы было всё верно.

Пиши коммит.
Василий Наумкин
19 сентября 2013, 03:36
0
Если делаешь для себя и переносить никуда не планируешь — то вполне правильный метод.
Василий Наумкин
18 сентября 2013, 20:36
0
Тебе спасибо (у нас тут все «на ты»)!

Я думаю, теперь ты чаще будешь видеть свои иконки, учитывая популярность HybridAuth для MODX.

Обновление с радостью добавлю!
Василий Наумкин
18 сентября 2013, 17:23
9
0
<?php
$tvid = 1; // id нужного ТВ параметра
$res = array(); // Сюда забиваем результаты

$q = $modx->newQuery('modTemplateVarResource', array('tmplvarid' => $tvid));
$q->select('contentid,value');
if ($q->prepare() && $q->stmt->execute()) {
	while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
		$res[$row['contentid']] = $row['value'];
	}
}
print_r($res);

Получишь массив с id ресурсов и значенями ТВ c id = 1.
Василий Наумкин
18 сентября 2013, 14:32
0
stateful — это встроенная фишка ExtJS, у них в доках описано.
Все само сохраняет и делает, нужно только указать верные параметры и функцию getState().

У меня отключено потому, что показалось не очень удобно, когда у юзера запоминается таб — он чаще нужен только первый.