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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
15 января 2013, 16:45
0
У тебя что-то вешает скрипт. То есть, он выполняется слишком долго.

Может рекурсия какая, а может просто тормозная выборка. Смотри, на каком сниппете вылазит эта ошибка
Василий Наумкин
15 января 2013, 12:48
0
Где именно не выводятся?

Если в getResources, то нужно указать, какие ТВ выбирать.
Василий Наумкин
15 января 2013, 05:31
0
Давно написал скрипты автоматической установки и пользуюсь только ими.

С нагрузкой полный порядок — треть ресурсов всегда свободны.

Эту заметку перепишу под linide, давно в планах.
Василий Наумкин
15 января 2013, 04:59
0
Ничего не нужно, всё уже сделано.

Юзер должен обратиться к странице создания тикета с параметром ?tid=idтикета, а менеджер редактирует из админки.

Ссылку для редактирования можно показывать вот так — увидит её только автор:
[[+modx.user.id:is=`[[*createdby]]`:then=`
	<a href="[[~15]]?tid=[[*id]]">Изменить тикет</a>
`:else=``]]
Василий Наумкин
15 января 2013, 04:50
0
Да, конечно, ТВ работают так же, как и у обычных ресурсов.

Фильтровать можно по всякому, хоть через getResources, хоть своим сниппетом. Только учти, что в getResources обязательно нужен параметр &showHidden=`1`.
Василий Наумкин
15 января 2013, 04:42
0
Tickets быстрее и лучше по нескольким причинам:

1. Не чистят весь кэш сайта при обновлении.
2. Не забивают дерево ресурсов — удобнее работать.
3. Контент тикета автоматически фильтруется и типографируется Jevix.
Василий Наумкин
14 января 2013, 22:48
0
На первый взгляд, всё ок — надо проверять.

Это только с полем address, или с другими так же?
Василий Наумкин
14 января 2013, 20:24
0
Заказал чистый сайт на modx-test.com, поставил Tickets, он при установке стянул еще Jevix.

Всё на месте, можешь заценить s2116.modx-test.com/manager/
Логин s2116
Пароль IkluW2B78OK3
Василий Наумкин
14 января 2013, 20:09
0
Однозначно что-то не то у тебя.

На Linode у меня был тариф 512 — всё летало, никаких утечек. Ubuntu 10.04.4, все пакеты из репозитория.
Василий Наумкин
14 января 2013, 17:44
0
А сколько памяти на сервере то, и где этот сервер?

У меня ни разу такого не было, чтобы аж ssh переставал работать.
Василий Наумкин
14 января 2013, 14:27
0
Вполне.

По любому, более пригоден, чем всё остальное. Только нужно самому написать обработку вложений через плагин.
В событии OnBeforeDocFormSave проверять, что нужно, а в OnDocFormSave — сохранять, что нужно.

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

Например, вот это тоже Tickets.
Василий Наумкин
14 января 2013, 14:25
0
Отправляй что угодно, и лови плагином по событию OnDocFormSave.

Создай шаблон, назначь его в системных настройках дефолтным для новых тикетов, затем прикрути к нему нужные ТВ.

Ну а дальше всё просто — в плагине делай
$resource->setTVValue('key', $modx->stripTags($_POST['key']));
Василий Наумкин
14 января 2013, 14:21
0
Ну тогда делай сниппетом.

А обработка показана в getTickets, смотри код. Уже добавил это по-умолчанию, в следующей версии будет.

Да и версия будет, скорее всего, сегодня.
Василий Наумкин
14 января 2013, 12:57
0
Конечно, интегрирован и доступен как метод Tickets::dateFormat();

Но не засунут прям в класс Ticket, то есть, через getResources такого поля не будет. Можно сделать даже так, но я посчитал это лишней нагрузкой.

Выводи тикеты через getTickets и добавь там обработку дат — будет быстрее, чем вызов сниппета в чанке. Надо будет так сделать из коробки, кстати.
Василий Наумкин
14 января 2013, 12:27
0
Сниппетом
[[!dateAgo?input=`[[+createdon]]`]]

Напряжно прямо в объект это вписывать — лишний тормоз будет.
Василий Наумкин
14 января 2013, 07:55
0
Естественно, что работающие процессы отьедают себе память — зачем ей пустой простаивать?

Когда память на сервере заканчивается, он что — падает, глючит, виснет? Или работает как надо, просто показывая, что вся память занята?

Если второе — волноваться не о чем, если первое — попробуй добавить памяти на сервер (если можно) или перезапускать процесс раз в сутки.

У меня на linode 768 ОЗУ, только 200 из них обычно свободно.
Василий Наумкин
13 января 2013, 20:09
0
Во первых: при оформлении вопросов нужно использовать тег code, чтобы мне не пришлось потом исправлять.

Во-вторых: зачем вызов getPage? Нужно в две колонки и с постраничной навигацией? Если да, то так не выйдет. нужно разбивать на колонки через CSS или Javascript.

Если постраничная навигация не нужна — можно просто сделать 2 вызова getResources.

Ну или самый сложный вариант — написать свой сниппет, выбирающий ресурсы и раскладывающий их в 2 плейсхолдера, которые уже указывать в колонках.
Василий Наумкин
13 января 2013, 07:53
0
С подпиской это никак не может быть связано, только недопонимание браузером моих скриптов.
Василий Наумкин
13 января 2013, 07:52
0
Да, Firefox как-то странно себя ведёт. Отправляет ajax запрос и следом переходит на скрипт работы с комментарием, несмотря на false, который возвращает форма.

Скрипт, конечно, выдаёт запрет доступа, ибо его вызывают без нужных параметров.

Добавил return false прямо на кнопки формы — заработало. Сейчас пишу из Firefox, прошу протестировать у себя.

P.S. Introtext появляется, если использовать тег cut, о чем написано справа при создании новой заметки. Только никто не читает и не использует. Сравни, как выглядят мои заметки в ридере, и большинство остальных.

В ридере всё выглядит точно так-же, как и на главной сайта.
Василий Наумкин
12 января 2013, 10:25
0
Насколько я знаю, связанных селектбоксов в админке MODX вообще нет. Только самому дописывать.

Ну а в карточке товаров miniShop по-прежнему нет сложных ТВ, и уже не будет.