Всего 125 335 комментариев

Михаил
09 января 2023, 14:21
0
Создал отдельную страницу — вывожу там отзыв
[[!ecMessages?
&threads=`*`
&tpl=`tpl.ecMessages.Row.all`
&limit=``
&messages=`5`
]]
Делаю ссылку отзыву «Читать весь отзыв» site.ru/reviews?id=5
Вопрос как автоматизировать этот процесс?
Артур Шевченко
09 января 2023, 13:44
0
Ну это больше похоже на целую статью, которую явно писал авторизованный пользователь. Мне кажется в этом случае использовать easyComm не очень удобно, я бы использовал Tickets или написал бы своё решение.
Михаил
09 января 2023, 13:37
0
Сам понимаю что незачем, но нужно чтобы было как тут otzovik.com/reviews/hotel_snegiri_russia_siktivkar/
Предполагаются очень длинные отзывы.
Константин Ильин
09 января 2023, 13:32
0
а, да) Я просто копирнул из примеров) Вызывал сомнение этот параметр, но не трогал)
Сейчас все норм и сохраняется, а сохраняется наверно потому что, я до этого под админом открывал сайт, т.е. не был авторизирован в контексте)
Спасибо Артур! буду дальше тестировать :)
Михаил
09 января 2023, 13:29
0
Добрый день. Вывожу карту со всеми ресурсами из определенного родителя. Как вывести только определенные ресурсы? Например, выводить только те ресурсы у которых заполнен какой нибудь TV
Код вызова:
[[!yandexMaps?
	&tvCoords=`coords`
	&styleMapBlock=`width:100%; height:600px;`
	&zoom=`12`
	&showMoreLink=`true`
	&showMoreLinkTpl=`balloon`
	&fieldForBalloonContent=`introtext`
	&fieldForHint=`pagetitle`
		&objectsTypesJSON=`[
	{
	"Adresa": {
		"parent":30",
		"preset":"islands#redDotIcon"
			}
		}
	]`
]]
Артур Шевченко
09 января 2023, 13:28
0
Нельзя сделать ссылку на страницу, которой нет))) Да и зачем отзыву целая страница? Я чаще всего делаю разворачивающийся текст, реже модалку с полным текстом. Но если прям надо страницу, то надо создать ресурс, в котором будете вызывать сниппет ecMessages, который будет по переданным get-параметрам получать из БД нужный отзыв.
Роман
09 января 2023, 13:20
0
Благодарю! Спасибо что откликаетесь.
Артур Шевченко
09 января 2023, 13:18
+1
Ну так-то, конечно не работает))) Ты указал, что имя пользователя надо брать из поля email, а имя пользователя у тебя не равно email.
Артур Шевченко
09 января 2023, 13:14
1
+1
Я просто вариант предложил, а ты делай как больше нравится)))
Роман
09 января 2023, 13:13
0
Спасибо, попробую! ereplace интересно, обойтись без доп самописного сниппета будет хорошо
Артур Шевченко
09 января 2023, 13:11
1
+1
Зачем делать код читабильнее? Ну чтобы удобнее было его читать самому и другим.
Что же до проблемы, то я бы на твоём месте проверил настройки источника файлов (baseUrl), так как у меня нет. Если же исходить из того, что слэш есть и он нужен то можно сделать так
{set $photo = ($el.id | resource: 'photo')}
{set $base_path = $_modx->config.base_path | ereplace: '/\/$/' : ''}
{set $path = $base_path ~ $photo}
{if $phote && file_exists($path)}
<img src="{$photo | pthumb : 'w=660&h=412&zc=1&q=90'}" alt="{$el.pagetitle}"/>
{/if}
Константин Ильин
09 января 2023, 13:02
0
Хм, походу я криворучко или праздники сказываются, даже авторизация не работает.
Модхост сейчас поднял
s31388.h10.modhost.pro/

Простой пользователь
test@test.ru
123123123

админский
s31388.h10.modhost.pro/manager/
s31388
AzbNTYpnYF11
Роман
09 января 2023, 12:55
0
Да тоже все работает, просто если прям подставить

$resource->set('alias',$resource->cleanAlias($title));
$resource->save();
то записывается пустота
Артур Шевченко
09 января 2023, 12:50
0
Где-то у тебя ошибка. Я проверил у себя на сайте в плагине на сохранение всё работает.
Роман
09 января 2023, 12:46
0
тут один вариант, смотреть на конце строки ID и уже от этого плясать, пробую strpos
Роман
09 января 2023, 12:45
0
Можно, а зачем? У меня там в другомпроблема, в $_modx->config.base_path есть папка assets/ на конце со слешем, а у рисунка путь начинается с /assets/… со слешем в начале. Поэтому и добавил функцию назвал substr в которой вырезаю у пути assets/
Роман
09 января 2023, 12:41
0
Пробовал $resource->cleanAlias($title) пусто почему-то в $resource->cleanAlias($title)
Артур Шевченко
09 января 2023, 12:16
0
А почему бы не разбить на части?
{set $photo = ($el.id | resource: 'photo')}
{set $path = $_modx->config.base_path ~ $photo}
{if $phote && file_exists($path)}
<img src="{$photo | pthumb : 'w=660&h=412&zc=1&q=90'}" alt="{$el.pagetitle}"/>
{/if}
По-моему так читабельнее.
Роман
09 января 2023, 12:13
0
Я понял, спасибо, тоже как вариант. Если хочешь что-бы были скопированы TV копируй ресурс, да нормально. Но думаю пока как сделать так, при создании страницы будет выпадающий список у MIGx TV, где пользователь выбирает из списка ресурсов из которого скопировать контент этого MIGx TV, выпадающий список как listbox список ресурсов. Просто типа из готовых шаблонов выбираешь нужный, заполненный.
Артур Шевченко
09 января 2023, 12:10
0
Можно ещё так сделать
$title = $resource->get('pagetitle') . '-' . $resource->get('id');
$alias = $resource->cleanAlias($title);
if ($resource->get('alias') != $alias){
// тут остальное
}