Игорь

Игорь

С нами с 21 марта 2018; Место в рейтинге пользователей: #125

Нет отбора по NOT LIKE в Pdopage

Столкнулся с не очевидной проблемой — вроде бы должно работать, но… нет.
Есть TV-поле tvrules, содержащее специальный тег (Top3MainPage), по которому особые заметки отбираются и показываются, как «Отборные».

[[!pdoPage?
	&element=`getTickets`
	&tpl=`Footer7News`
	&includeContent=`0`
	&includeTVs=`tvrules,tvimageticket`
	    &where=`{"tvrules:LIKE":"%Top3MainPage%"}`
	&limit=`3`
    &parents=`25`
    &sortby=`RAND()`
]]

Кроме того, хочу дополнительно отобрать заметки, НЕ ИМЕЮЩИЕ тега Top3MainPage.
Очевидно (для меня) переделываю код, добавляя NOT перед LIKE и… ничего не отбирается.

[[!pdoPage?
	&element=`getTickets`
	&tpl=`Footer7News`
	&includeContent=`0`
	&includeTVs=`tvrules,tvimageticket`
	    &where=`{"tvrules:NOT LIKE":"%Top3MainPage%"}`
	&limit=`3`
    &parents=`25`
    &sortby=`RAND()`
]]
Что я делаю не так?
Игорь
12 сентября 2019, 18:25
modx.pro
864
0

Каким образом можно выбрать публикации только за последние три недели?

Сделал, как было предложено — создал сниппет getDateWeekAgo

<?php
$formatDate = date('Y-m-d H:i:s');
$date = new DateTime($formatDate);
$date->modify("-21 day");
return $date->format('Y-m-d H:i:s');

в котором формируется соответствующая дата и разместил код.

[[!pdoPage?
&element=`getTickets`
&tpl=`TicketArticleOnlyRow`
&includeContent=`1`
&parents=`[[*parent]]`
&limit=`3`
&resources=`-[[*id]]`
&sortby=`RAND()`
&includeTVs=`tvimageticket`
&where=`{«publishedon:>»:"[[getDateWeekAgo]]"}`
]]

Подозреваю, что-то делаю не так.
Игорь
11 июня 2019, 15:31
modx.pro
573
0

Как в minishop2 при формировании письма сделать вывод ссылки на заказ?

Добрый день!
Не могу понять, каким образом вставить ссылку на ОФОРМЛЕННЫЙ заказ?

В чанке tpl.msEmail есть номер заказа.
Требуется, чтобы по клику в ссылке в письме открывалась та же страница, которая показывается и при оформлении, вида ...../korzina.html?msorder=20

Заранее, спасибо!
Игорь
07 июня 2019, 11:05
modx.pro
738
0

tagLister — как вывести (или НЕ выводить) список ОПРЕДЕЛЕННЫХ тегов?

В tpl есть такой код
<a href ="[[+url]]">[[+tag]]</a> ([[+count]])
Можно ли его не выводить, если первый символ +tag равен "{"?

Пока еще не разобрался с модификаторами, очень прошу помочь.
Игорь
25 февраля 2019, 14:59
modx.pro
550
0

Быстрый выбор похожих статей

Расскажите, пожалуйста, как кто реализует у себя данную фишку?
Конечно, простейший способ — взять тикет из того же раздела, в котором находится текущий тикет.
Еще варианты — использовать getRelated — но у него, я так понимаю, проблемы с кириллицей.

Я пока остановился на следующем с применением tagLister.
Так как тикеты получают теги, почему бы по ним не выбирать список похожих?
Игорь
05 сентября 2018, 22:38
modx.pro
1 066
0

Bootstrap версии 2 и Tickets - не работает добавление в избранное (некликабельная звездочка)

Есть ли возможность поменять код в Tickets, не обновляя Bootstrap до последней версии?
Все остальное (рейтинг +-, вывод количества просмотров) работает без проблем.
Игорь
24 августа 2018, 09:36
modx.pro
1
1 020
0

Некликабельная звёздочка (добавить в избранное) в тикете

Чанк tpl.Tickets.meta — не могу внести тикет в избранное, т.е. кликнуть мышкой по звёздочке, рейтинг (нажатие на + — с результатом) работает.
Я уже почти сдался… Кто-то может подсказать решение проблемы?
Может быть класс
<span class="ticket-star-count">
неверный??

содержимое чанка ниже:
<div class="ticket-meta row" data-id="[[+id]]">
	<span class="col-md-5">
		<i class="fa glyphicon glyphicon-calendar"></i> [[+date_ago]]
		&nbsp;&nbsp;
		<i class="fa glyphicon glyphicon-user"></i> [[+fullname]]
	</span>
	<span class="col-md-2"><a href="[[~[[+section.id]]]]"><i class="fa glyphicon glyphicon-folder-open"></i> [[+section.pagetitle]]</a></span>
	<span class="col-md-2">
		<span class="ticket-star[[+can_star]]">[[+stared]][[+unstared]] <span class="ticket-star-count">[[+stars]]</span></span>
		&nbsp;&nbsp;
		<i class="fa glyphicon glyphicon-eye-open"></i> [[+views]]
	</span>
	<span class="col-md-2 pull-right ticket-rating[[+active]][[+inactive]]">
		<span class="vote plus[[+voted_plus]]" title="[[%ticket_like]]">
			<i class="fa glyphicon glyphicon-arrow-up"></i>
		</span>
<span class="rating[[+rating_positive]][[+rating_negative]]" title="[[%ticket_rating_total]] [[+rating_total]]: ↑[[+rating_plus]] [[%ticket_rating_and]] ↓[[+rating_minus]]">[[+rating]]</span>
		[[+can_vote]][[+cant_vote]]
		<span class="vote minus[[+voted_minus]]" title="[[%ticket_dislike]]">
			<i class="glyphicon glyphicon-arrow-down"></i>
		</span>
	</span>
</div>
[[+has_files]]

<!--tickets_can_vote <span class="vote rating" title="[[%ticket_refrain]]"><i class="glyphicon glyphicon-minus"></i></span>-->
<!--tickets_cant_vote <span class="rating[[+rating_positive]][[+rating_negative]]" title="[[%ticket_rating_total]] [[+rating_total]]: ↑[[+rating_plus]] [[%ticket_rating_and]] ↓[[+rating_minus]]">[[+rating]]</span>-->
<!--tickets_active  active-->
<!--tickets_inactive  inactive-->
<!--tickets_voted_plus  voted-->
<!--tickets_voted_minus  voted-->
<!--tickets_rating_positive  positive-->
<!--tickets_rating_negative  negative-->
<!--tickets_has_files
<ul class="ticket-files">
	<strong>[[%ticket_uploaded_files]]:</strong>
	[[+files]]
</ul>-->
<!--tickets_can_star  active-->
<!--tickets_stared <i class="glyphicon glyphicon-star stared star"></i>-->
<!--tickets_unstared <i class="glyphicon glyphicon-star unstared star"></i>-->
Игорь
21 августа 2018, 22:47
modx.pro
968
0

Список тикетов с комментариями определенного пользователя

Доброго дня!
Пытаюсь получить список тикетов, которые комментировал текущий авторизованный пользователь.
Код — ниже — ничего не выдает.

[[!pdoPage?
&element=`getTickets`
&tpl=`TicketArticleRowEdit`
&limit=`10`
&leftJoin=`{
        "tickets_comments": {
          "class": "TicketComment",
          "on": "Ticket.id = tickets_comments.thread AND tickets_comments.published = 1"
        }
      }`
    &select=`{
        "Ticket": "*",
        "tickets_comments": "tickets_comments.createdby as comcreatedby"
      }`
&where=`{"tickets_comments.comcreatedby:=":"[[+modx.user.id]]"}`
&groupby=`Ticket.id`
&includeTVs=`tags`
&includeContent=`1`
]]
Подозреваю, что что-то делаю НЕ ТАК. Попутно ОЧЕНЬ ПРОШУ дать ссылку на инструкции по правильному присоединению таблиц (leftjoin) в pdoPage, если таковые существует
Игорь
20 августа 2018, 12:23
modx.pro
700
0

Сортировка списка тикетов по просмотрам, рейтингу и дате ввода

Постоянно прошу… решил поделиться, может кому пригодится (экономия времени, к тому же).
Всем известен вывод pdoPage с выводом списка тикетов. Кроме того, многие знают о том, что в тикетах есть возможность подсчета количества просмотров и система оценок.
К сожалению (я так понимаю, может я и не прав) при превышении некоторого количества тикетов вся система начинает жутко тормозить, и, видимо, поэтому многое не афишируется.
У меня на сайте тикетов около 700 штук, я пока проблем не замечаю.

Решил сделать вывод списка тикетов с упорядочиванием по дате добавления, количеству просмотров и оценок пользователей (по убыванию и возрастанию по каждому из выборов).

Как это сделать проще всего?
Мне показалось, что лучше всего использовать ОДИН pdoPage с join-ами к соответствующим таблицам (TicketVote и TicketView) и выбором сортировки (orderby) и варианта его (sortby) из строки.
Игорь
15 августа 2018, 12:12
modx.pro
5
1 870
+3

Как НЕ ВЫВОДИТЬ разметку HTML при отсутствии результата pdoPage?

Существует некий код для вывода содержимого тикетов в зависимости от условия

<div id="sheetpage">
<div class="rows">

[[!pdoPage?
	&element=`getTickets`
	&tpl=`TicketPageMainMP`
&includeContent=`1`
&includeTVs=`tvrules`
&where=`{"tvrules:LIKE":"%mpPageMain[[*id]]mp%"}`
&parents=`0`
&ajaxMode=`button`
&pageVarKey=`sheet`
 &sortdir=`ASC`
&pageNavVar=`sheet.nav`
	&limit=`10`]]

</div>
[[!+sheet.nav  ]]
</div>
Так вот, в случае ОТСУТСТВИЯ заметок на странице появляется код, который СДВИГАЕТ весь нижеследующий текст на две строки вниз. Существует ли возможность НЕ ВЫВОДИТЬ этот код (делать дополнительный запрос, еще какой вариант) при ОТСУТСТВИИ РЕЗУЛЬТАТА pdoPage?

<div id="sheetpage">
<div class="rows">
</div>
</div>
Игорь
11 августа 2018, 10:18
modx.pro
1 182
0