Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #5
09 августа 2016, 19:03
+3
Думаю, можно обойтись одним Гвоздём. ;)
09 августа 2016, 18:26
0
Тогда наверно лучше в виде сниппета
[[*pagetitle:declension=`{"gender":"men", "padej":"rod", "chislo":"edin"}`]]
08 августа 2016, 11:37
+1
Не готов ответить за автора — пробовал он сделать todo лист в MODX на extjs или нет. Но если да, то писать такое
Всю ночь на это убил. Ничего не получается.
я бы точно не стал. )
08 августа 2016, 11:30
+1
Не понимаю, зачем эти пляски с плейсходерами. В плагине определяете регион (по куке или по ip) и переключаете контекст.
08 августа 2016, 11:25
0
Посмотри код виджета недавно редактированных ресурсов. Там подключается extjs таблица с нужными контролами.
А для виждета новостей достаточно и HTML.
А написать даже простенький туду менеджер для новичка задача трудная.
08 августа 2016, 11:08
0
Хулиганишь Иван. Можно, конечно, и из говна сделать. Но тогда и получится говно. Интерактив (а он явно нужен) без ExtJs не сделать. Вот только почему именно виджет нужен? Он менее удобен, чем отдельный интерфейс.
08 августа 2016, 11:05
0
Самый простой и самый быстрый вариант — выводить полный список и услуг и врачей, а яваскриптом скрывать ненужные пункты. Единственный момент — защита от дурака/хулигана — при сохранении проверять соответствие врача услуге по родителю.
07 августа 2016, 10:14
0
В ближайшее время нет.
02 августа 2016, 19:39
+1
2. Уже есть метод. Зачем его дублировать.
3. После первого запроса заменить код
if (empty($timestamp)) {
	$query = $modx->newQuery('TicketThread', array('resource' => $page));
	$query->select('comments');
	return $modx->getValue($query->prepare());
} else {
	$q = $modx->newQuery('TicketComment');
	$q->innerJoin('TicketThread','Thread', "TicketComment.thread = Thread.id AND Thread.resource = {$page}");
	$q->select('TicketComment.id');
	$q->where('TicketComment.createdon > Thread.comment_time');
	if ($q->prepare() && $q->stmt->execute()) {
		return $q->stmt->rowCount();
	}
}
Должно работать. В теории :)
02 августа 2016, 18:24
0
вылаживаю мой рабочий вариант
Думаю, ты имел ввиду «выкладываю» ;)

Предложу небольшую оптимизацию.
Нужно все-таки проверять $timestamp. А если пользователь ещё не видел ни одного комментария?
Строчки
$q = $modx->prepare("SELECT * FROM modx_tickets_comments WHERE thread = '{$thread}' AND createdon > '{$timestamp}' AND published = 1");
$q->execute();
$r = $q->fetchAll(PDO::FETCH_ASSOC);
return count($r);
можно заменить на
return $modx->getCount('TicketComment', array('thread'=>$thread, 'createdon:>'=>$timestamp, 'published'=>1));
Ну и в принципе, я бы второй и третий запрос объединил джойном.
02 августа 2016, 17:28
+1
Попробуй так.
02 августа 2016, 13:11
1
+4
Есть такая таблица modx_ticket_views. В ней хранится дата последнего просмотра ресурса текущим пользователем. Все комментарии ресурса, у которых дата создания позже даты из этой таблицы, считаются непрочитанными. Они высчитываются на лету.
23 июля 2016, 12:22
+4
Для этих целей пригодится srcset.
21 июля 2016, 07:03
+3
На втором сайте я создал такие же группы
Зря. Айди будут разные. Пользователи окажутся не в тех группах.
Переносить нужно все таблицы user_* (если они не пустые). А также таблицы групп member_groups и membergroup_names.
14 июля 2016, 14:18
1
+2
Копия нужна одна.
Для каждого раздела укажи свой класс. Например,
<body class="faq">
и проверяй в 316 строчке
switch ($(document.body).attr('class')) {
   case 'faq':
	....
	break
   case 'forum':
	....
	break
   default:
	Tickets.Message.info(response.message);
	break
}
Где нужна базовая логика класс не указывай.
14 июля 2016, 13:34
0
А разве при добавлении комментариев есть jGrowl уведомления?
Вижу. При модерации есть. Ну тогда делай копию default.js и правь 316 строчку. Не забудь в настройках указать новый файл.

Жаль что не предусмотрены события чтобы к ним подцепится…

Можно сделать себе и отправить PR.
14 июля 2016, 13:05
0
По первому пункту, думаю, надо свой js делать с нужной логикой или расширять стандартный (копию).
По второму пункту. Для каждого раздела укажи нужный чанк с шаблоном для уведомлений в параметре tplCommentEmailSubscription.