TITAN-UZ
С нами с 27 февраля 2014; Место в рейтинге пользователей: #56Генерация расписания занятий на pdoTools
Увидел недавно вопрос на сообществе — человек хочет сгенерировать таблицу с расписанием занятий по дням.
Казалось бы, задача несложная, но это совсем не так. Стандартные сниппеты не предназначены для такой работы и их приходится запускать на каждый день недели. И даже если вас не волнует скорость работы, то в итоговой таблице будут пропущенные ячейки, что совсем не айс.
Можно сделать свой компонент расписаний, но это нужно далеко не всем, тем более, для вывода всего одной недели из дерева.
Поэтому предлагаю вам готовое решение, а заодно и демонстрацию работы с pdoTools. Конечно, можно было бы обойтись и родными методами MODX, но с ним быстрее.
Все нужные данные выбираются за один запрос, а дальше очень быстрая обработка и оформление на PHP.
[РЕШЕНО] Авторизация во все поддомены
Переключение контекстов сделано. Необходимо реализовать авторизацию сразу во все контексты из любого текущего. Цену и вопросы в личку.
[решение] pdoResources вывод родительских ссылок
Использую pdoResources для вывода данных, возникла потребность вывести "категория / подкатегория" текущего документа, выискивал решения, но все неработающие.
Собственно требуется вывести их в виде ссылки с названием.
Возможно кто-то уже это реализовывал и знает готовое решение?
— Моё решение задачи:
Собственно требуется вывести их в виде ссылки с названием.
Возможно кто-то уже это реализовывал и знает готовое решение?
— Моё решение задачи:
Как проверять TV-поля одновр. и на '', и на NULL
Для определённости рассмотрим функционал сниппета pdoResources.
Проблема заключается в том, что классическим форматом JSONxPDO в параметре &where в общем случае невозможно указать проверку значения некоторого TV-поля одновременно и на пустое значение, и на NULL. В каких случаях может понадобиться такая проверка — напишу ниже.
Для примера возьмём параметр introtext (в БД modX это поле может принимать значения NULL)
Казалось бы, чего проще:
Проблема заключается в том, что классическим форматом JSONxPDO в параметре &where в общем случае невозможно указать проверку значения некоторого TV-поля одновременно и на пустое значение, и на NULL. В каких случаях может понадобиться такая проверка — напишу ниже.
Для примера возьмём параметр introtext (в БД modX это поле может принимать значения NULL)
Казалось бы, чего проще:
&where=`{"introtext":"", "OR:introtext:IS":null}`
Но проблема здесь в том, что в конечном запросе перед нашим условием в преобладающем большинстве случаев будут стоять ещё и другие условия, которые де факто будут объединены с нашим условием логикой «AND», причём наше условие в скобки взято не будет. В итоге в конечном запросе мы получим следующее условие:WHERE (<i>прочие условия</i> AND `modResource`.`introtext` = '' OR `modResource`.`introtext` IS NULL)
Как видим, логика нарушена. Модификация формы создания тикета
Всем привет.
Есть такой вопрос по Тикетам. В форме создания тикета есть выпадающее меню с выбором раздела с тикетами. Вот так этот фрагмент выглядит в чанке tpl.Tickets.form.create
Где формируется этот выпадающий список и как лучше всего это воплотить?
Есть такой вопрос по Тикетам. В форме создания тикета есть выпадающее меню с выбором раздела с тикетами. Вот так этот фрагмент выглядит в чанке tpl.Tickets.form.create
<select name="parent" class="input-xxlarge">[[+sections]]</select>
А вот так он выглядит на странице<select name="parent" class="input-xxlarge">
<option value="76" >Тикет 1</option>
<option value="72" >Тикет 2</option>
</select>
Задача в следующем. Необходимо, чтобы в этом выпадающем списке Тикеты делились по родителям, оборачиваясь в тег . Примерно вот так<select name="parent" class="input-xxlarge">
<optgroup label="Родитель 1">
<option value="76" >Тикет 1</option>
<option value="72" >Тикет 2</option>
</optgroup>
<optgroup label="Родитель 2">
<option value="76" >Тикет 3</option>
<option value="72" >Тикет 4</option>
</optgroup>
</select>
Родителя нельзя выбрать в этом выпадающем списке, это обычный документ-контейнер, в списке он будет служить для удобного отображения большого списка разделов с тикетами.Где формируется этот выпадающий список и как лучше всего это воплотить?
как произвести проверку прикреплен ли к ресурсу tv
приложил к ресурсу видеофайл в tv
вывожу его на странице ресурса следующим образом
но в случае если видео в tv не добавлено на странице выводится битая картинка
как произвести проверку прикреплен ли к ресурсу tv и в зависимости от этого выполнять его вывод?
вывожу его на странице ресурса следующим образом
<video id="video1" class="videoskin" controls
width="400" height="300" data-setup="{}">
<source src="/[[*tv.videofile_mp4]]" type='video/mp4'>
<source src="/[[*tv.videofile_webm]]" type='video/webm'>
</video>
но в случае если видео в tv не добавлено на странице выводится битая картинка
как произвести проверку прикреплен ли к ресурсу tv и в зависимости от этого выполнять его вывод?
getResources вывод документов за сегодняшнее число
Добрый день.
Нужно вывести через getResources документы, в котором через TV параметр задана определённая дата. Примерно как тут, только нужно именно за текущую дату, а не за прошлые от текущей или будущие от текущей.
Нужно вывести через getResources документы, в котором через TV параметр задана определённая дата. Примерно как тут, только нужно именно за текущую дату, а не за прошлые от текущей или будущие от текущей.
Вывод количество комментариев Tickets
Сразу прошу извинения у Василия потому что я наверно достал тебя :)
Прикол получился в том, что Василий давал мне код:
У меня не так я проста на странице вывожу [[!TicketComments]]
Не как не получается сделать вывод кол-во комментариев вне сниплета на этой же странице где он подключен и при выводе документа через getResources
Единственный вариант который я нашёл как мне показалось самый нормальный это передавать данный в tv и сохранять их там
Прикол получился в том, что Василий давал мне код:
if ($res = $modx->getObject('Ticket',15)) {
echo $res->get('comments');
}
Он работает замечательно если у ресурса «Тип документа» -> «Раздел тикетов»У меня не так я проста на странице вывожу [[!TicketComments]]
Не как не получается сделать вывод кол-во комментариев вне сниплета на этой же странице где он подключен и при выводе документа через getResources
Единственный вариант который я нашёл как мне показалось самый нормальный это передавать данный в tv и сохранять их там
Работа с #хэшем в url + history api
Последний проект, который я делал состоит из одной страницы, и все действия выполняются через Ajax.
Конечно, понадобилось сохранять состояние страницы, и самое универсальное решение — хэш.
Если кто не в курсе, хэшем url зовется всё, что идет после символа #. Изначально это было придумано для якорей и используется до сих пор всякими способами из-за одной особенности — изменение хэша не обновляет страницу.
Конечно, понадобилось сохранять состояние страницы, и самое универсальное решение — хэш.
Если кто не в курсе, хэшем url зовется всё, что идет после символа #. Изначально это было придумано для якорей и используется до сих пор всякими способами из-за одной особенности — изменение хэша не обновляет страницу.
Открытие внешних ссылок в новом окне
Не знаю, кому как, а лично мне очень не нравится, когда при клике на ссылку в тексте статьи меня переслыают на другой сайт. Я же еще не дочитал!
Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.
Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.
Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!