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

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

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
А еще хотелось бы узнать, можно ли в eventsCalendar2 добавлять картинки? Если да, то как?
Еще интересуют следующие вопросы
— может ли mSearch2 искать рифмы к словам?
— Как в Login авторизовать только тех пользователей, у которых есть белый iPhone6?
— можно ли Tickets переименовать в Vaucher, чтобы он выводил не тикеты, а ваучеры?

С наступающим Новым годом! :)
Самое простое — это создать TV, например, showInfo, привязать к нужным шаблонам(у) (к тем, которые указаны для страниц с инфоблоком). А затем в форме редактирования этих страниц на вкладке «Дополнительные поля», для тех, у которых нужно отображать инфоблок, выставить 1 у TV showInfo.
Теперь в шаблоне или на странице, вставляете вызов чанка инфоблока
[[[[*showInfo:eq=`1`:then=`$showInfoChunk`]]]]
Этот блок отобразится только у тех страниц, для которых вы установили единичку для Tv.
Делаю настройку по инструкции для простого блога (1 часть заметки). Всё сделал на написанному, только id свой указал. В итоге по адресу site.ru/rss получаю циклическую перезагрузку. Вообще не хочет отображать страницу с типом RSS. С чем это может быть связано? Подскажите кто знает.
Ну самое простое это сделать сниппет, в котором запрашивать группы
<?php
if ($modx->user->get('id')) {
	$q = $modx->newQuery('modUser',array('`modUser`.`id`'=>$modx->user->get('id')));
	$q->innerJoin('modUserGroupMember','UserGroupMembers');
	$q->innerJoin('modUserGroup','UserGroup','`UserGroupMembers`.`user_group` = `UserGroup`.`id`');
	$q->select('UserGroup.name');
	$groupsArray = array();
	if ($q->prepare() && $q->stmt->execute()) {
	    while($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
		    $groupsArray[] = $row['name'];
	    }
	}
	// Список групп через запятую
	$userGroups = implode(',',$groupsArray);
} else {
	$userGroups = 'Аноним';
}
return $userGroups;
и вставлять его в нужное место.
Все проще.
В сниппете (хотя через файл будет быстрее) в массив нужно добавить признак успешности success=true
$output['success'] = true;
// И выводить в JSON
exit($modx->toJSON($output));
А в файле скрипта функцию load() заменить на post()
$.post("/assets/ajax.php",{action:"getContent",id:id}, function(response) {
	response.success = response.success || false;
	if (response.success) {
		$('.modal-title','#mymodal').text(response.pagetitle);
		$('#content','#mymodal').html(response.content);
		$("#mymodal").modal('show');
	}
}, 'json');
1. Опечатался, спасибо. Конечно нужен класс, ведь таких ссылок на странице несколько.
2. 'action' посылается в скрипте (см. «Шаг 2»). В принципе только для этого случая aсtion можно не использовать. Но это будет полезно для универсального контроллера, так как на него можно слать другие ajax-запросы для других действий.
А как мне вместо надписи Модальное окно в самом модальном окне)) выводить заголовок статьи pagetitle?
Для этого нужно доработать и ajax.php (чтобы возвращал и контент и заголовок) и javascript (чтобы разобрать результат запроса и расставить всё по местам). А load() заменить на post(). Т.е. это для самостоятельного примера.
П.С. А почта могла в спам попасть. Как минимум я и еще двое зарегистрировались без проблем.