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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
09 июня 2017, 17:01
0
P.S. никогда ни кому не советую использовать формат url содержащий дату, например 10/11/2016
Готов пожертвовать ради удобства — у меня в блоге у постов uri такой — blog/год/месяц/день/alias. Статьи за год можно вывести так — site.ru/blog/2016
За месяц — site.ru/blog/2016/05
За день — site.ru/blog/2016/05/10

Это удобно. Типа REST запросов.

П.С. Получается, что все сайты с REST запросами будут в ж.пе.
Сергей Шлоков
08 июня 2017, 13:00
0
Слышал есть вот такой.
Календарь может быть один, но можно настроить так, чтобы пользователь мог видеть только свои события.
Сергей Шлоков
07 июня 2017, 09:28
+3
Лучше такие слова не говорить, а то сайт запишут в экстремисткий. :) Безопаснее написать «клёвенький», «рулит» или «зачотный». Если уж хочется убойное определение, то можно написать «ураган», но с маленькой буквы, чтобы не подумали про системы залпового огня. :) Времена такие.
Сергей Шлоков
06 июня 2017, 14:32
-1
А ещё добавить Login, FormIt, AjaxForm, pdoTools и т.д. И MODX нужно будет переименовывать, ибо концепция модульности нарушится.
Сергей Шлоков
06 июня 2017, 10:06
+2
Вот пример сниппета, который выводит по одному ресурсу для каждого родителя, с использованием библиотеки modHelpers
$parent = 0;
$res = resources()->innerJoin('modResource','Parent')->where(['Parent.parent' => 12])->sortby('parent', 'ASC')->sortby('id', 'DESC')->each(function($resource, $idx) use (&$parent) {
    if ($resource['parent'] == $parent) return '';
    $parent = $resource['parent'];
    return "<li>{$idx}. ".$resource['pagetitle']."</li>"; // можно использовать чанк
});
return '<ul>' . $res . '</ul>';
Всего 7 строчек.

Тут пригодилась бы функция filter(), но ввиду небольшого спроса на эту библиотеку дорабатывать её не планирую.
Сергей Шлоков
05 июня 2017, 22:03
1
+2
Я бы создал коллекцию объектов (можно через pdoResources) таким запросом
select Res.* from `modx_site_content` as Parent
inner join `modx_site_content` as Res on Res.parent = Parent.id
where Parent.parent = 12
ORDER BY Res.parent ASC, Res.id DESC
А затем пробежался по массиву и сформировал требуемую коллекцию с одним дочерним ресурсом.
Итого всего один запрос к БД.
Сергей Шлоков
05 июня 2017, 10:51
0
Ибо не положено. Вообще, как минимум, странно разрешать гостям писать разметку в описании.

Есть более функциональный календарь fullCalendar. У него есть MODX и javascript события для управления событиями календаря.
Сергей Шлоков
05 июня 2017, 09:21
+4
Как минимум глянуть в параметры сниппета. Документацию почитать не предлагаю — молодое поколение программистов просто засмеёт.
Сергей Шлоков
04 июня 2017, 12:17
+2
Советую поставить Tickets. Он удобнее для ведения блога — в нем есть генератор урла для документов, возможность не показывать документы в дереве и т.п.
Сергей Шлоков
04 июня 2017, 11:55
0
В инлайн-чанках для условий используйте фигурные скобки вместо квадратных.
Сергей Шлоков
04 июня 2017, 11:46
0
Насколько я понимаю, перенос происходит вручную. Если при сохранении нового документа возникает ошибка, то проще в форме в поле alias добавить, например, дату документа — congratulation-2016-01-01.
Сергей Шлоков
04 июня 2017, 09:35
0
Ярко. Для полной красоты можно было бы добавить ещё красный треугольник. Единственный вопрос — где стрелочки, кружочки и квадратики, выделяющие событие OnBeforeDocFormSave? И где само это событие на картинке??? Хотя это уже второй вопрос.

П.С. Событие OnDocFormSave срабатывает после сохранения ресурса, а ошибка возникает при сохранении.
Сергей Шлоков
04 июня 2017, 08:00
0
Для того, чтобы плагин сработал, нужно чекнуть соответствующие события на вкладке событий плагина.
Сергей Шлоков
04 июня 2017, 07:38
+1
siteStatictics не является альтернативой Google.Analytics и и Яндекс.Метрики. Он ведёт:
— статистику посещений и просмотров ресурсов, которую можно использовать для сортировки ресурсов по популярности;
— статистику посещений пользователей.

Ещё он показывает пользователей, которые в текущий момент находятся на сайте. Вот ссылка на полную документацию с описанием всех возможностей компонента.

И есть ли возможность вытащить эти данные и например вставить их в данные формы или заказа?
UTM-метки — это get параметры. Работать с ними можно как на уровне PHP, так и на уровне Fenom. siteStatistics не ведёт отдельный учёт по этим меткам. Для этого есть гугл и яндекс.
Сергей Шлоков
26 мая 2017, 07:11
0
Мужики, объясните, а что, в Казахстане и Белорусии не слышали про кабели? Или они просто кончились?
Сергей Шлоков
20 мая 2017, 16:13
0
А ещё лучше
WHERE FIND_IN_SET({$var}, u.id) > 0
Сергей Шлоков
07 мая 2017, 09:46
+3
Насколько я понимаю, торопиться надо тем, у кого в админке живёт куча пользователей — редакторы, менеджеры, контролёры и т.п. Для тех, у всего один админ (самый любимый и красивый), можно ещё поспать. :)
Сергей Шлоков
03 мая 2017, 08:17
+2
Ждемс. Хочется посмотреть как вы на казахском разговариваете. :)