08 января 2013, 20:13 Спасибо. Комментарий мне пришлось изменить, так как нужно использовать тег code для оформления частей скриптов или запросов. Удобнее читать. Хостинг / Сервер: резервное копирование и выгрузка в Dropbox 58 0
08 января 2013, 09:33 Обновляйся на 0.8.2, там доработаны ветки комментариев. Теперь можно так: if ($thread = $modx->getObject('TicketThread', array('resource' => 'id ресурса'))) { echo $thread->get('comments'); }Ветка создаётся при первом вызове TicketComments на странице и пишет себе в поле resource, где её вызвали. Так же там есть поля comment_last и comment_time — это id и время последнего комментария ветки (т.е. на странице). Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 22:03 Я там тупо копипастнул, сейчас поправил. Проверь еще разок код отсюда. Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 21:45 Алексей, у тебя в голове картинка не сложилась. Раздел тикетов — это контейнер для тикетов, класс TicketsSection. Тикет — это дочерний ресурс контейнер, класс Ticket. Его можно создать только из страницы с типом TicketsSection в админке или сниппетом TicketForm на сайте. Эти оба типа — расширенные классы, которые обладают особыми возможностями. Обычный ресурс так не умеет. В числе прочего — вывод кол-ва комментов. Причем, TicketsSection выведет сумму комментов для всех дочерних тикетов, а Ticket — только своих. Если не хочешь создавать тикеты — то доставай кол-во комментов своим сниппетом, код запроса я тебе дал. Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 21:31 А должно быть Ticket. Как документ создавал, в смысле, ресурс? Если через Api — то нужно было указать верный class_key. При создании из админки или при помощи TicketForm — всё автоматом указывается. Или ты просто вызываешь TicketComments на обычном ресурсе? Тогда конечно, таких полей не будет — ибо это фишка именно класса Ticket. В этом случае можно получить кол-во комментов запросом в БД. $q = $modx->newQuery('modResource', $id); $q->leftJoin('TicketThread','TicketThread', "`TicketThread`.`name` = 'resource-{$id}'"); $q->leftJoin('TicketComment','TicketComment', "`TicketThread`.`id` = `TicketComment`.`thread`"); $q->select('COUNT(`TicketComment`.`id`) as `comments`'); $count = 0; if ($q->prepare() && $q->stmt->execute()) { $count = (integer) $q->stmt->fetch(PDO::FETCH_COLUMN); } return $count; $id — идентификатор ресурса, на котором вызывался TicketComments. Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 21:26 Не context_key, а class_key? Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 21:08 При выводе массива документа — какой там class_key? Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 20:39 Хоть убей, у меня всё работает. 1. Создаю новую страницу, тип «Документ», шаблон — 0. 2. Вызываю там сниппет Test, 3. В сниппет пишу if ($res = $modx->getObject('Ticket', 539)) { echo '<pre>';print_r($res->toArray());die; }4. Выводятся все поля ресурса, в конце [hide_children_in_tree] => 0 [show_in_tree] => 0 [properties] => [comments] => 0 [views] => 2 [votes] => 0 Должно работать именно так, везде. updated После написания первого коммента проверил и $res->get('comments'); — всё окей, вывел уже единицу. Если всё равно не работает — значит на твоём сайте уже чтото накручено, удаляй Tickets все версии и ставь последнюю, потом чисти кэш. Вопросы / Вывод количество комментариев Tickets 18 0
07 января 2013, 15:20 Конечно, нужно использовать Tickets. По нагрузке должно быть всё ок, там не чистится кэш сайта при создании\обновлении страницы. Только кэш ресурса и его родителя. Вопросы / Не пинайте плиз, поджимают сроки, и есть вопросы. 1 0
07 января 2013, 06:10 Насколько я понимаю, это от версии вообще не зависит. Только настройки веб-сервера. На тестовых сайтах всегда устанавливается последняя стабильная версия. Хостинг / Тестовые сайты на MODX 28 0
07 января 2013, 06:09 У меня nginx отдаёт статику напрямую, без php. Соответственно, до ресурсов с типом CSS и JS запрос даже не доходит. Хостинг / Тестовые сайты на MODX 28 0
06 января 2013, 19:46 Тут всё настолько просто, что мне остаётся только твитнуть. Надеюсь, кто-нибудь поможет. Вопросы / Интеграция MODX с API другого сервиса 4 0
06 января 2013, 13:38 В заметке всё написано так, чтобы тупо копипастить — и работало. Не знаю, что тут может быть сложного. В любом случае, эти знания очень пригодятся в будущем. Навыки администрирования GNU/Linux никому не мешают. Хостинг / Правильный хостинг для MODX Revolution 226 0
06 января 2013, 13:00 1. Нужно как то связать юзеров там и тут. Не знаю, как вы это будете делать — но надо. А дальше, нужно разобрать xml, например, simplexml. Писать в базу можно через PDO или xPDO. Если второй случай, то надо схему и модель — можно освоить заодно и разработку компонента. 2. Тут просто — modMail. Вопросы / Интеграция MODX с API другого сервиса 4 0
06 января 2013, 03:45 Эта инструкция как раз для того, чтобы не использовать панели, типа ISP. Она вам такого наконфигурирует, во век не разгребёте. Хостинг / Правильный хостинг для MODX Revolution 226 0
05 января 2013, 22:46 Если скорость устраивает — зачем кидать тапками? Время генерации страницы можно глядеть плейсхолдером [^t^]. Если показывает больше секунды — решение плохое. Вопросы / Чанк для вывода TV с определённым именем 5 0
05 января 2013, 22:29 Должно выглядеть так(лишние пробелы убирайте где [ ], нето даже с тегом code они теряются их движок считать пытается: Если бы можно было так просто запихнуть теги MODX — сайт бы уже давно поломали. Проверяем: [[$TVinsert?&name=humb_projects]] [[$TVinsert?&name=image01]] <a href="[[*[[+name]]]]" class="lightbox" rel="tooltip" style="display:inline-block;" title="Сделать покрупнее"> <img src="[[*[[+name]]:phpthumbof=`w=300&h=300&zc=1`]]" class="img-circle imgborder" style="-webkit-box-shadow: 0 2px 30px rgba(0,0,0,.50); -moz-box-shadow: 0 2px 30px rgba(0,0,0,.50); box-shadow: 0 2px 30px rgba(0,0,0,.50);"/></a> Вопросы / Чанк для вывода TV с определённым именем 5 0
05 января 2013, 16:46 Добавь косую перед ссылкой, чтобы был url от корня сайта: <a href="/[[+login_url]]&provider=Yandex">Yandex</a> И еще советую включить friendly_urls. Вопросы / HybridAuth проблема с URL 7 0
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Комментарий мне пришлось изменить, так как нужно использовать тег code для оформления частей скриптов или запросов. Удобнее читать.
Теперь можно так:
Ветка создаётся при первом вызове TicketComments на странице и пишет себе в поле resource, где её вызвали. Так же там есть поля comment_last и comment_time — это id и время последнего комментария ветки (т.е. на странице).
Проверь еще разок код отсюда.
Раздел тикетов — это контейнер для тикетов, класс TicketsSection.
Тикет — это дочерний ресурс контейнер, класс Ticket. Его можно создать только из страницы с типом TicketsSection в админке или сниппетом TicketForm на сайте.
Эти оба типа — расширенные классы, которые обладают особыми возможностями. Обычный ресурс так не умеет. В числе прочего — вывод кол-ва комментов. Причем, TicketsSection выведет сумму комментов для всех дочерних тикетов, а Ticket — только своих.
Если не хочешь создавать тикеты — то доставай кол-во комментов своим сниппетом, код запроса я тебе дал.
Как документ создавал, в смысле, ресурс? Если через Api — то нужно было указать верный class_key. При создании из админки или при помощи TicketForm — всё автоматом указывается.
Или ты просто вызываешь TicketComments на обычном ресурсе? Тогда конечно, таких полей не будет — ибо это фишка именно класса Ticket.
В этом случае можно получить кол-во комментов запросом в БД.
$id — идентификатор ресурса, на котором вызывался TicketComments.
1. Создаю новую страницу, тип «Документ», шаблон — 0.
2. Вызываю там сниппет Test,
3. В сниппет пишу
4. Выводятся все поля ресурса, в конце
[hide_children_in_tree] => 0 [show_in_tree] => 0 [properties] => [comments] => 0 [views] => 2 [votes] => 0Должно работать именно так, везде.updated
После написания первого коммента проверил и $res->get('comments'); — всё окей, вывел уже единицу.
Если всё равно не работает — значит на твоём сайте уже чтото накручено, удаляй Tickets все версии и ставь последнюю, потом чисти кэш.
По нагрузке должно быть всё ок, там не чистится кэш сайта при создании\обновлении страницы. Только кэш ресурса и его родителя.
На тестовых сайтах всегда устанавливается последняя стабильная версия.
Соответственно, до ресурсов с типом CSS и JS запрос даже не доходит.
Надеюсь, кто-нибудь поможет.
Не знаю, что тут может быть сложного.
В любом случае, эти знания очень пригодятся в будущем. Навыки администрирования GNU/Linux никому не мешают.
Писать в базу можно через PDO или xPDO. Если второй случай, то надо схему и модель — можно освоить заодно и разработку компонента.
2. Тут просто — modMail.
Она вам такого наконфигурирует, во век не разгребёте.
Время генерации страницы можно глядеть плейсхолдером [^t^]. Если показывает больше секунды — решение плохое.
Если бы можно было так просто запихнуть теги MODX — сайт бы уже давно поломали.
Проверяем:
И еще советую включить friendly_urls.