Дмитрий
С нами с 16 декабря 2015; Место в рейтинге пользователей: #47[adminTools] Права доступа для ресурсов
Права доступа в MODX — вещь не очень понятная и требует время для познания. С наскока управиться с ними не получится. Даже если нужно просто ограничить доступ к страницам на сайте, всё равно придётся разбираться с группами ресурсов, пользователей, политиками и т.п. Но теперь это делать не обязательно.
Данное решение достаточно простое — у ресурса добавляется вкладка «Права доступа» и в ней можно перечислить, кому показывать страницу, а кому нет. Причём в привычном для многих стиле операционной системы.
Данное решение достаточно простое — у ресурса добавляется вкладка «Права доступа» и в ней можно перечислить, кому показывать страницу, а кому нет. Причём в привычном для многих стиле операционной системы.
Модификатор ':mod' на Fenom
У MODX есть встроенный модификатор mod: [[+number:mod]]
На Fenom не нашел такого модификатора, и пришлось повторить его логику создав собственный модификатор, может кому-нибудь пригодится.
modulus,mod — Возвращает модуль числа (по умолчанию: %2, возвращает 0 или 1).
На Fenom не нашел такого модификатора, и пришлось повторить его логику создав собственный модификатор, может кому-нибудь пригодится.
Проблема с tv при выводе с помощью Fenom
Здравствуйте! Вот пытаюсь вывести tv «special_thumb» через снипет pdoResources в шаблоне используя Fenom:
Мой вопрос в следующем: как вывести tv параметр используя Fenom?
{$_modx->runSnippet('!pdoResources', [
'parents'=>$_modx->resource.id,
'sortby'=>'menuindex',
'sortdir'=>'ASC',
'depth'=>1,
'limit'=>0,
'includeTVs'=>'special_thumb',
'prepareTVs'=>1,
'includeContent'=>1,
'tpl'=>'@INLINE
<div class="special_item">
<div class="container">
<div class="row">
<div class="col-md-4 text-right">
<img src="{$special_thumb}" alt="">
</div>
<div class="col-md-8">
<h3>{$pagetitle}</h3>
{$content}
<a href="{$_modx->makeUrl($id)}" title="{$pagetitle}" class="read_more">Подробнее</a>
</div>
</div>
</div>
</div>
'
])}
Код работает, но не выводится tv special_thumb, логи смотрел, там ошибок нет, заметил что в запросе есть такая строка `TVspecial_thumb` ON `TVspecial_thumb`.`contentid` = `modResource`.`id`
но не понял что это значит.Мой вопрос в следующем: как вывести tv параметр используя Fenom?
Настройка Fileattach для групп ресурсов
А как настроить отображение вкладки «Файлы» только для определенной группы ресурсов?
У нас менеджеры могут изменять только те ресурсы, которые входят в доступные им группы ресурсов, при этом они видят другие ресурсы, но изменить их не могут. Вкладка «Файлы» появляется на всех ресурсах и менеджеры могут закачать файл к любому ресурсу и удалить файлы у любых ресурсов (менять не могут, а файлы добавить-удалить получается, что могут).
У нас менеджеры могут изменять только те ресурсы, которые входят в доступные им группы ресурсов, при этом они видят другие ресурсы, но изменить их не могут. Вкладка «Файлы» появляется на всех ресурсах и менеджеры могут закачать файл к любому ресурсу и удалить файлы у любых ресурсов (менять не могут, а файлы добавить-удалить получается, что могут).
[pdoTools] 2.5.0 - файловые элементы
Представляю вам новую версию с улучшенной поддержкой загрузки элементов из файлов.
Теперь из файлов можно грузить не только оформление, но и запускать PHP код. Это позволяет вынести в них почти все элементы системы: шаблоны, чанки, плагины и сниппеты.
Подробная документация, как обычно, вот здесь, а под катом список изменений
Теперь из файлов можно грузить не только оформление, но и запускать PHP код. Это позволяет вынести в них почти все элементы системы: шаблоны, чанки, плагины и сниппеты.
Подробная документация, как обычно, вот здесь, а под катом список изменений
Рейтинг пользователя - общий, тикеты и комментарии
1 500
Выводим рейтинг пользователя как на modx.pro joxi.ru/eAOYVYPI476nQm
Т.е., выводим рейтинг общий, рейтинг за тикеты (Tickets) и рейтинг за комментарии.
1. Создаем сниппет getAuthorRating:
Т.е., выводим рейтинг общий, рейтинг за тикеты (Tickets) и рейтинг за комментарии.
1. Создаем сниппет getAuthorRating:
<?php
$userId = intval($userId);
if ($author = $modx->getObject('TicketAuthor',$userId)) $modx->setPlaceholders($author->toArray());
return;
2. Там где нужно вывести рейтинг:[[!getAuthorRating? &userId=`[[+ID_пользователя]]`]]
<p>Рейтинг [[+rating]]</p>
<p>Рейтинг тикетов + [[+votes_tickets_up]] / - [[+votes_tickets_down]]</p>
<p>Рейтинг комментариев + [[+votes_comments_up]] / - [[+votes_comments_down]]</p>
modResourceField. Упрощаем работу с TV часть 2.
Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Расширение любых таблиц MODX
В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Отправка пароля пользователю при оформлении заказа
Здравствуйте!
Необходимо осуществить отправку пароля пользователю при оформлении заказа в minishop2.
Необходимо осуществить отправку пароля пользователю при оформлении заказа в minishop2.
Доработка office
Здравствуйте.
Допиливаю office под свои нужды. В частности в контроллере profile сделал загрузку фото с компьютера пользователя, а не с gravatar-а, т.е. добавил инпут типа «file» и подредактировал метод Update контроллера.
При этом, картинка обновляется только после перезагрузки странички профиля. Вопрос: как бы заставить картинку обновляться (т.е., видимо, как сделать, чтобы страничка профиля обновлялась) после щелчка по кнопке «Сохранить»?
Допиливаю office под свои нужды. В частности в контроллере profile сделал загрузку фото с компьютера пользователя, а не с gravatar-а, т.е. добавил инпут типа «file» и подредактировал метод Update контроллера.
При этом, картинка обновляется только после перезагрузки странички профиля. Вопрос: как бы заставить картинку обновляться (т.е., видимо, как сделать, чтобы страничка профиля обновлялась) после щелчка по кнопке «Сохранить»?