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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
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 по-прежнему нет сложных ТВ, и уже не будет.
Василий Наумкин
11 января 2013, 17:05
0
По умолчанию выбирается все записи из таблицы, значит их нужно ограничить.

Нам подойдёт ограничение по классу, автору и статусу:
$where = array(
    'Ticket.class_key' => 'Ticket'
    ,'Ticket.published' => 1
    ,'Ticket.deleted' => 0
);
if (!empty($_REQUEST['uid'])) {
    $where['Ticket.createdby'] = intval($_REQUEST['uid']);
}

Вот и всё.
Также можно приджойнить TicketsSection, чтобы выбирать названия и урлы на разделы.
Василий Наумкин
11 января 2013, 16:11
0
Вот мой чанк из настроек профиля — там просто добавляется класс disabled, если выставлен плейсхолдер с провайдером…

<div class="alert alert-block ">
    <div class="row">
        <div class="span4">Пожалуйста, привяжите эти сервисы к своей учетной записи при помощи <b>HybridAuth</b>.</div>
        <div class="span3">
            <a href="[[+login_url]]&provider=Yandex" class="srv yandex [[+yandex.provider:isnot=``:then=`disabled`:else=``]]" title='Яндекс'></a>
             
            <a href="[[+login_url]]&provider=Google" class="srv google [[+google.provider:isnot=``:then=`disabled`:else=``]]" title='Google'></a>
             
            <a href="[[+login_url]]&provider=Twitter" class="srv twitter [[+twitter.provider:isnot=``:then=`disabled`:else=``]]" title='Twitter'></a>
             
            <a href="[[+login_url]]&provider=Facebook" class="srv facebook [[+facebook.provider:isnot=``:then=`disabled`:else=``]]" title="Facebook"></a>
             
            <a href="[[+login_url]]&provider=Vkontakte" class="srv vkontakte [[+vkontakte.provider:isnot=``:then=`disabled`:else=``]]" title="Вконтакте"></a>
        </div>
    </div>
</div>
Василий Наумкин
11 января 2013, 15:24
0
Нужно добавить эти ссылки самостоятельно.
Василий Наумкин
11 января 2013, 15:22
0
Нужно авторизоваться на другом сервисе, будучи уже залогиненным на сайте — новая запись привяжется.
Василий Наумкин
11 января 2013, 00:23
0
Вижу, что у таблиц префиксов нет.

Вместо site_content обычно modx_site_content. Как то ты установил свой сайт хитро. Погляди в phpmyadmin — таблицы с префиксом? Если да, то однозначно проблема в этом.

Я я пока забудусь сном.
Василий Наумкин
10 января 2013, 23:57
0
Верхняя панель, отчеты, журнал ошибок.
Василий Наумкин
10 января 2013, 23:44
0
Смотреть логи сервера и системный журнал MODX.

Больше ничего не могу посоветовать.
Василий Наумкин
10 января 2013, 16:40
1
0
Нужно просто поставить почтовый сервер:
sudo apt-get install sendmail

Обслуживание входящей почты советую отдать Яндексу.

Если будут проблемы с отправкой почты на тот же домен, по которому отзывается сервер (sendmail будет думать, что он должен доставить почту сам себе и не отправит её на Яндекс) — вот тут лечение.
Василий Наумкин
10 января 2013, 10:52
0
Tickets работают только с авторизованными юзерами.

Советую использовать HybridAuth, тогда залогиниться можно будет в один клик.
Василий Наумкин
10 января 2013, 05:47
0
Да, есть глюк с удалением связей. Лечим заменой в плагине на строке 43:
$q = $modx->newQuery('ModKits',array('rid:IN' => $ids));
$q->orCondition(array('gid:IN' => $ids));
$modx->removeCollection('ModKits', $q);
на
$modx->removeCollection('ModKits', array('rid:IN' => $ids));
$modx->removeCollection('ModKits', array('gid:IN' => $ids));

С msGetResource я что-то накрутил, видимо. Сейчас нет времени разбираться, но твоё решение вполне себе нормальное.

P.S.
1. Ты про блог у меня на сайте? Если да, то только через премодерацию в разделе «Вопросы». Пиши сюда заметку — если понравится, перенесу в другой блог.
Ну а вообще, есть как минимум 2 сообщества про MODX на LiveStreet, там свободная регистрация и создание блогов.

2. Комплекты будут, но поумнее сделанные. Система скидок — отдельная тема, она будет значительно позже.

3. Ты имеешь в виду, построить дерево товаров? Так Wayfinder и сейчас это может. В MS2 будут более продвинутые товары и там (скорее всего) стандартные сниппеты смогут сразу выводить цену и другие характеристики, сами того не подозревая.
Василий Наумкин
10 января 2013, 05:16
1
0
Практически всё на этом сайте делает Tickets. Использовать Articles + Quip никому не советую.

Блок справа реализован вот так
<ul id="sidebar-pills" class="nav nav-pills">
	<li class="active"><a href="#tab-comments" data-toggle="tab">Комментарии</a></li>
	<li><a href="#tab-tickets" data-toggle="tab">Публикации</a></li>
</ul>
<div class="tab-content">
    <div class="tab-pane fade in active" id="tab-comments">
        [[!TicketLatest?
            &limit=`20`
            &action=`comments`
            &tpl=`tpl.Tickets.comment.latest`
            &cacheKey=`comments`
        ]]
    </div>
    <div class="tab-pane fade" id="tab-tickets">
        [[!TicketLatest?
            &limit=`20`
            &action=`tickets`
            &tpl=`tpl.Tickets.ticket.latest`
            &cacheKey=`tickets`
        ]]
    </div>
</div>

Вкладки переключает Bootstrap, компонент Navs.
Василий Наумкин
09 января 2013, 19:42
0
В директории сайта:
ls -lsh ./

А процессы php вот так:
netstat -nlp | grep php5
Василий Наумкин
09 января 2013, 18:19
0
Это нормально — боты пробую подобрать пароль.

А вот если увидишь, что там кто-то, кроме тебя, смог зайти — это беда.