Всего 123 609 комментариев

Юрий Гуляев
10 января 2013, 07:32
0
Спасибо огромное, буду экспериментировать.
Юрий Гуляев
10 января 2013, 07:31
0
1. Я читал и даже делал подобное, но теперь есть Ticket и смысла нет использовать то что в статье.
2. Спасибо.
3. Спасибо огромное за ссылку, обязательно воспользуюсь.
Василий Наумкин
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.
Виталий Батушев
10 января 2013, 03:04
0
Общие черты:
1. Создание блога на MODX: modx.ws/blog/blog-o-modx-revolution/sozdanie-bloga-v-modx-revolution.html
2. В состав Tickets входит сниппет TicketLatest. Из названия видно, что он выводит последние комментарии.
3. При недостаточном знании английского про Twitter Bootstrap можно почитать здесь. Там хоть и не все переведено, но многое.
Василий Наумкин
09 января 2013, 19:42
0
В директории сайта:
ls -lsh ./

А процессы php вот так:
netstat -nlp | grep php5
Kyrychyk Roman
09 января 2013, 18:42
0
Понял.
Попытался php-fpm от разных пользователей. Всё тоже самое… Как проверить какому юзеру принадлежит папка tmp?
Василий Наумкин
09 января 2013, 18:19
0
Это нормально — боты пробую подобрать пароль.

А вот если увидишь, что там кто-то, кроме тебя, смог зайти — это беда.
Kyrychyk Roman
09 января 2013, 18:11
0
Обнаружил там очень много повторяющихся строк:

Failed password for root from 65.111.164.195 port 33775 ssh2

reverse mapping checking getaddrinfo for earwyn.emdeenboller.com [65.111.164.195] failed — POSSIBLE BREAK-IN ATTEMPT!

Jan 6 21:58:40 vm10921 sshd[13832]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=65.111.164.195 user=root

Не знаю, должно так быть или нет? Какой-то домен фигурирует — earwyn.emdeenboller.com…
Василий Наумкин
09 января 2013, 17:24
0
Сомневаюсь.

Проверьте /var/log/auth.log на предмет посторонних заходом на сервер.
Kyrychyk Roman
09 января 2013, 17:03
0
Спасибо, буду разбираться.

Скажите, а возможно, что это проблемы у хостера? Я ведь никаких изменений не делал перед поломкой…
Василий Наумкин
09 января 2013, 16:30
0
Все просто: в миникарт данные попадают из сессии, которая очищается при отправке заказа.

А на странице, как правило, snippet miniCart расположен раньше сниппета miniShop, и при его загрузке сессия еще не очищена.

Я советую убирать миникорзину с этой страницы, она там ни к чему.
Василий Наумкин
09 января 2013, 15:46
0
Ну, явно какой то трабл с правами.

Может, директория tmp принадлежит одному юзеру, а процесс php-fpm запущен от другого? В общем, разбирайся, проблему, вроде как, обнаружили.
Kyrychyk Roman
09 января 2013, 15:44
0
PHP не обновлял, настройки не менял.

1. В логах нашёл такую ошибку:
PHP Warning: File upload error — unable to create a temporary file in Unknown on line 0" while reading response header from upstream, client: 46.119.154.213, server: мойдомен, request: «POST /connectors/browser/file.php HTTP/1.1», upstream: «fastcgi://unix:/var/run/php5-heis.sock:», host: «мойдомен», referrer: «мойдомен/manager/?a=30&id=218»

2. С директорией tmp всё в порядке (права chmod 755). Но самое интересное, что когда я выставляю ей права 777, файл-менеджер начинает работать нормально… Ставлю обратно 755 — перестаёт.

3. С конфигами вроде тоже всё нормально. Всё сделано, как в инструкции.
Василий Наумкин
09 января 2013, 08:58
0
Ну, с именем там будет так же, ибо если нет имени, но оно требуется для работы юзера в MODX — его приходится придумывать. Правда, Hybrid будет использовать идентификатор юзера на сервисе, вместо хэша, как Loginza.

Правильный способ — это дать возможность юзеру поменять имя, почту и другие поля профиля, как у меня. Это умеет и Loginza и Hybrid.

Однако — у Hybrid юзер самостоятелен. То есть, к учетной записи юзера сайта привязываются записи вконтакте, фейсбука и тд. И юзер, входя через любую из привязанных учеток, попадет в учетку своего юзера, с указанным там нужным именем и email. Можно даже сделать обычную авторизацию, а потом к ней добавить Hybrid, для ускорения входа.

А у Loginza связей нет. Там один удалённый сервис — одна учетка на сайте. Она быстрее устанавливается на сайт, но в итоге я не советую ей пользоваться — обнойлвений сниппета точно не будет.

Поэтому, со всех сторон Гибридом пользоваться лучше, и от loginza.ru не будешь зависеть.

P.S. При ответе на комментарий нужно нажимать под ним на ссылку «Ответить».
Юрий Гуляев
09 января 2013, 08:48
0
А вот насчет логинзы
Сниппет Loginxza генерирует такое имя, если сервис авторизации не передал нормальное.
что с этим делать пока не знаю Наверное нужно прикрутить Ваш HybridAuth…
Юрий Гуляев
09 января 2013, 08:45
0
Спасибо огромное, перенес вызов jQuery из Footer в Head и все заработало!
Василий Наумкин
09 января 2013, 08:38
0
Посмотрел в код страницы — jQuery подключен, но в футере.

А у меня, почему то, MarkItUp вызывается в шапке. В следующей версии исправлю, а пока можешь сам изменить в tickets.class.php на строке 139
$this->modx->regClientStartupScript($this->config['jsUrl'].'web/editor/jquery.markitup.js');
на
$this->modx->regClientScript($this->config['jsUrl'].'web/editor/jquery.markitup.js');

Для комментариев — аналогично, на строке 200. Ну или просто подключи jQuery в шапке сайта.
Василий Наумкин
09 января 2013, 08:29
1
0
Если сломалось сразу и везде — проблема системная. Php не обновлял, настройки не менял?

Алгоритм починки:
1. Смотрим ошибки загрузки в /var/log/nginx/имясайта-error.log
2. Проверяем наличие директорий /var/www/имясайта/tmp/ — именно туда грузятся файлы, сначала.
3. Проверяем конфиги сайтов в /etc/nginx/sites-enabled/имясайта.pool, особенно смотрим на строчки про upload и tmp.

Не помешает также запустить скрипт, восстанавливающий верные права на файлы и директории сайта, 0777 — это не хорошо.
#!/bin/bash

USER="имяюзерасайта"
GROUP="имягруппысайта"

chown -R $USER:$GROUP "/var/www/test/www";
find "/var/www/test/www" -type d -exec chmod 0755 '{}' \;
find "/var/www/test/www" -type f -exec chmod 0644 '{}' \;

Если всё сделано по моей инструкции, то имя юзера и группы совпадают друг с другом, а также, с именем директории сайта.
Василий Наумкин
09 января 2013, 08:20
0
Подключи jQuery.

<script type="text/javascript" src="http://yandex.st/jquery/1.8.3/jquery.min.js"></script>

При двойном вызове скрипта с редактором будет две панели с кнопочками. А у тебя его вообще нет — так что проблема была не там.