Tanya

Tanya

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

Отключение сниппета на определенной странице

Каким образом можно выключить, например, pdoResources на странице с определенным ID?

Нужно чтобы в разделе Новостей в сайдбаре не дублировались новости. Создавать лишние шаблоны не хочется.
Viktor
28 декабря 2015, 16:41
modx.pro
1
2 393
0

Плагин проверки авторства

Здравствуйте. Прошу помочь мне с написанием небольшого плагина. В бэкэнде нужно предотвратить редактирование ресурса (тикета) пользователем, который не является его автором.
Мне подсказали, что плагин нужен на событие OnBeforeDocFormSave, я совсем не дружу с modx, думаю должно быть что-то подобное:
<?php
switch($modx->event->name){    
    case 'OnBeforeDocFormSave':
	{
		if ($user->get('id') != $resource->get('createdby')) { 
			// что же здесь писать
		};
	}
}
Помогите, пожалуйста, допились это до нормального плагина, чтобы выводилась ошибка, что нет прав на редактирование и чтобы ресурс не сохранялся.
Виталий Барышников
28 декабря 2015, 11:19
modx.pro
3
1 930
0

Загрузка страниц через AJAX

Добрый день!

Интересует как настроить загрузку всей страницы через ajax в MODX revo.

Инфы вроде полно, но если можно пример для «особо одаренных» )

Буду очень благодарен!

Спасибо!
Алексей
23 декабря 2015, 15:08
modx.pro
1
3 304
0

[customExtra] Создание кастомных объектов

Периодически мне приходится реализовывать на сайтах клиентов какой-то уникальный функционал. Часто требуется сохранять информацию в базу данных, выводить её оттуда, реализовывать возможность управления из админки. Раньше для этого приходилось писать кастомный компонент.

А значит, надо написать схему, сгенерировать модель, оформить интерфейс, написать процессоры и прочее, и прочее… Для начинающих разработчиков этот метод достаточно сложен. А мне, например, каждый раз та-а-ак лень это делать.

Недавно я все-таки решился собрать некий стандартный компонент, с большим количеством полей, которые можно использовать как угодно. Даже написал небольшую заметку о нем у себя в блоге и на какое-то время успокоился.

До тех пор, пока мне не понадобилось иметь два таких кастомных объекта…
Илья Уткин
22 декабря 2015, 01:21
modx.pro
19
7 484
+16

Fenom не отрабатывает один тег

Приветствую!
Вызов pdoMenu:
{$_modx->runSnippet('pdoMenu', [
	'displayStart' => '1',
	'parents' => '4,10',
	'level' => '2',
	'tplOuter' => '@INLINE <div class="collapse-box">{$wrapper}</div>',
	'tplStart' => '@INLINE
		<h5 class="collapse-title">
			<a href="{$link}"><b>{$menutitle}</b></a>
			<a class="pull-right" data-toggle="collapse" href="#Cat-{$id}"> <i class="fa fa-angle-down"></i></a>
		</h5>
		{$wrapper}',
	'tplInner' => '@INLINE
		<div id="Cat-{$id}" class="panel-collapse collapse in">
			<ul class="acc-list">{$wrapper}</ul>
		</div>',
	'tpl' => '@INLINE <li><a href="{$link}">{$menutitle}</a></li>'
])}
Все теги отрабатываются, за исключением одного id=«Cat-{$id}»:
'tplInner' => '@INLINE
	<div id="Cat-{$id}" class="panel-collapse collapse in">
		<ul class="acc-list">{$wrapper}</ul>
	</div>',
На месте id ни чего не выводится.
Если прописать так id=«Cat-[[+id]]» — то id выводится.

В чем может быть проблема?
Rootiys
15 декабря 2015, 08:49
modx.pro
2
1 135
0

mFilter2 - функции обратного вызова

Как перехватить данные с pdoPage, используемому в mFilter2 по умолчанию?
То есть в обычном pdoPage прекрасно работают функции обратного вызова, а в mFilter2 почему-то не получается.
Или я не туда смотрю? Может и для mFilter2 есть функции обратного вызова, только я пропустил это?
Василий Столейков
14 декабря 2015, 19:25
modx.pro
12
3 066
+1

Оператор IF вывод меню

Ребят, помогите разобраться. Пытаюсь вывести разное меню на разных страницах.
[[!If? &subject=`[[*id]]` &operator=`EQ` &operand=`8` 
&then=`[[pdoMenu? &level=`3` &parents=`8` &resources=`0` &rowClass=`tab`]]`
&else=`[[pdoMenu? &level=`3` &parents=`0` &resources=`0` &rowClass=`tab`]]`
]]
Т.е. как я понимаю параметр, по которому выполняются условия id страницы, на которой выводится меню (&subject=`[[*id]]`).
Оператор сравнения с subject (&operator=`EQ`)
И если равен 8 странице, то выводится меню 1, иначе, выводится другое меню.

И всё это дело не работает, поправьте пожалуйста, что делаю не так?
Александр
14 декабря 2015, 08:55
modx.pro
2
3 380
0

какой код нужно прописать,что бы MODX не выполнял

Здравствуйте. Подскажите какой код нужно прописать, что бы MODX не выполнял теги:

<div class="files-attach">
    <form action="[[~[[*id]]]]" method="post" class="ajax_form" enctype="multipart/form-data">
        <div class="cf">
            <div class="col-sm-6 col-xs-12">
                <i class="error_name">[[+fi.error.name]]</i>
                <div class="input-group input-group-lg">
                    <span class="input-group-addon fa fa-user" id="name"></span>
                    <input type="text" name="name" value="[[+fi.name]]" class="form-control" title="Укажите Ваше имя" placeholder="Представтесь *" aria-describedby="name">
                </div>
                <i class="error_email">[[+fi.error.email]]</i>
                <div class="input-group input-group-lg">
                    <span class="input-group-addon fa fa-envelope" id="email"></span>
                    <input type="email" name="email" value="[[+fi.email]]" class="form-control" title="Укажите правильный email адрес" placeholder="Укажите Ваш email *" aria-describedby="email">
                </div>
                <button type="submit" name="submit" class="btn btn-default"><i class="fa fa-paper-plane"></i> Отправить</button>
            </div>
            
            <div class="col-sm-6 col-xs-12">
                <i class="error_message">[[+fi.error.message]]</i>
                <div class="input-group input-group-lg">
                    <span class="input-group-addon fa fa-comments" id="message"></span>
                    <textarea name="message" class="form-control" placeholder="[[+placeHolder]]" aria-describedby="email" rows="5">[[+fi.message]]</textarea>
                </div>
            </div>
        </div>
    		
    		
    	[[+fi.success:is=`1`:then=`
    		<div class="alert alert-success">[[+fi.successMessage]]</div>
    	`]]
    	[[+fi.validation_error:is=`1`:then=`
    		<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
    	`]]

    </form>
</div>

Мне очень нравится как устроено тут, я только вставляю код и сохраняю, и мне показывается то, что я вставил, а не выполняются теги.
Александр Янк
13 декабря 2015, 08:37
modx.pro
4
2 165
0

Список ресурсов в TV не выводит новый ресурс

Создал TV, тип ввода – Список ресурсов, структура примерно такая:

– Архив
	– 2015
		– Декабрь 2015
		– Ноябрь 2015
		– Октябрь 2015
	–2014
		– Декабрь 2014
		– Ноябрь 2014
		– Октябрь 2014
В ресурсах, где указывается TV выводится список всех дочерних Архива, кроме нового – Декабрь 2015.
Лимит установлен 0. Не могу понять, отчего так.
Klike
10 декабря 2015, 14:26
modx.pro
2
1 174
0