Дмитрий Иванов

Дмитрий Иванов

С нами с 23 октября 2014; Место в рейтинге пользователей: #210

Как выбрать ЛУЧШИЕ где комментов >= 10

Вывожу лучшие тикеты через mFilter2 с сортировкой по количеству комментариев примерно так (убрал всё лишнее чтобы не мешало):
{$_modx->runSnippet('!mFilter2', [
    'element' => 'getTickets',
    'sortdir' => 'DESC',
    'sortby' => 'comments',
    'leftJoin' => '{
		"Thread":{ "class":"TicketThread","on":"Thread.resource=Ticket.id" },
		"Comment":{ "class":"TicketComment","on":"Comment.thread=Thread.id AND Comment.parent = \'0\'" }
	}',
    'select' => '{
		"Comment":"COUNT(DISTINCT Comment.id) as comments"
	}',
])}

Есть 2 вопроса:
Василий Столейков
27 июня 2016, 06:00
modx.pro
4
1 995
0

Поиск по имени пользователя на странице пользовате

Всем привет подскажите как реализовать поиск пользователей по имени на странице — site.ru/users, как на modx.pro есть mSearch2 нужно чтобы было так же — вводишь имя и он ищет. Можно ли как-то прикрутить mSearch2 (просто понял что он по ресурсам ищет и как вариант создавать ресурс на плагине при сохранении пользователя но как-то это не очень) или как-то иначе…
Вообще сайт посвящен квестам в реальности и там есть страница site.ru/users на которой вывод пользователей и их активности (кол-во отзывов квестам с ссылкой на site.ru/users/id/comments, кол-во пройденных квестов с ссылкой на site.ru/users/id/done, количество лайков за отзывы без ссылки) на текущий момент вывод site.ru/users работает так:
Константин Обухов
17 июня 2016, 10:01
modx.pro
4
1 618
+1

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
114
18 749
+19

TinyMCE + Tickets + выбор главной картинки в TV

Добрый день. Понадобился функционал удобного редактора textarea во фронтенде Tickets, а также сделать возможность пользователю выбрать главную картинку для тикета.

Вот что получилось:


Инструкция под катом
Andrei D.
24 апреля 2016, 12:32
modx.pro
46
5 632
+15

Ошибка в логах при выводе tagger через pdoPage

Проблема в том что ругается на TV, я уже не знаю как их правильно подключить к этой конструкции, но при таком способе TV значения выводятся.
Подскажите как перестроить конструкцию что бы избавиться от ошибке в логах.
Tagger не дает покоя уже неделю :C
Код под катом...
October
21 апреля 2016, 11:35
modx.pro
5
3 038
-1

Как я расширил стандартную таблицу пользователей

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

Обычно использую office, который обеспечивает готовый личный кабинет из коробки с минимальными усилиями, он же позволяет сохранять все в базу, пользователей. Но вот беда, полей катастрофически не хватает. Логичным решением было создавать страницы для каждого пользователя, и добавлять сколько угодно TV. Так я и делал, но решил заморочиться и не дублировать страницы, а расширить таблицу пользователей и работать с ней напрямую, как с ресурсом.

Вот что я сделал:
Николай Савин
30 марта 2016, 14:48
modx.pro
25
5 061
+6

Закалка MODX Revolution (перевод)

Своего писать я пока сомневаюсь, уровень не тот, а вот перевести полезную статью с официальной документации — это с удовольствием. Перевод местами может показаться несколько вольным, что касается формулировок, — иначе переводить скучно. Но в том, что касается технических деталей, старался быть дотошно точным. Так что, если найдёте технические неточности — ругайтесь в комментах. А на филологию прошу не жаловаться:) И тем более на идеологические расхождения с Вашим мировоззрением — тут все вопросы к авторам доков. Паранойи и почвы для громких споров среди «экспертов по безопасности» в статье предостаточно. Помни, о читатель, всё это касается в первую очередь важных и заметных проектов.
Добро пожаловать под кат.
mngatoff
15 февраля 2016, 02:03
modx.pro
62
21 531
+13

Скрываем config.core.php

Я давненько на своих сайтах меняю адрес админки и папки /connectors/

Мне нравится, что MODX позволяет это делать и очень сложно обнаружить, что сайт работает на нём. Но тут Николай Ланец смутил меня тем, что MODX можно определить еще и по файлу /config.core.php в корне. Да, он не выдаёт никакой информации, но показывает белый экран, а веб-сервер отдаёт ответ 200.
Илья Уткин
13 февраля 2016, 14:56
modx.pro
30
12 770
+5

Выборка ресурсов по дате

Добрый день!

Покажите, как мне вывести ID тех документов, который опубликованы позднее указанный даты?

Без даты получаю таким образом:

$resources = $modx->getCollection('modResource');
		$where = array(
			'parent' => 9
			,'published' => 1
		//Чую, тут косяк))	,'publishedon' >= $dates
			);
		$resources = $modx->getCollection('modResource',$where);
		$output = '';
		foreach ($resources as $k => $res) {
		  $output .= $res->get('id');
		}
		return $output;
Дату к примеру получаю в формате ГГГГ-ММ-ДД. Перевести ее в UNIX тоже не проблема. В БД ModX все храниться как я понял в UNIX?
Андрей
02 января 2016, 16:48
modx.pro
3
2 261
0

Вывод последних комментариев Tickets

Здравствуйте.

Помогите, пож-та с вопросом.
На главной странице сайта хочу вывести последние комментарии с сайта.

Для этой цели создал сниппет: [[!SelectComments]]
Содержимое сниппета:
<?php
$results = $modx->query("
SELECT c.resource, c.comment_last, LEFT(a.raw, 21) FROM 
	modx_tickets_comments a,
	(SELECT b.resource, b.comment_last FROM modx_tickets_threads b
	 where b.comment_last > 0) c
where a.id = c.comment_last
ORDER BY a.createdon DESC 
LIMIT 0 , 7
");
while ($r = $results->fetch(PDO::FETCH_ASSOC)) {
        print_r($r);
}

Снипет возвращает массив:
Array ( [resource] => 158 [comment_last] => 33 [raw] => Мой текст комментария )

Как из полученного массива оптимально получить ленту комментариев в виде краткого текста комментария со ссылкой на сам коммент? Ссылка формата: my-site.ru/my-resurse.html#comment-33

Возможно есть более оптимальное решение для данной задачи?
Maxim
27 декабря 2015, 00:16
modx.pro
3
3 517
+1