TITAN-UZ

TITAN-UZ

С нами с 27 февраля 2014; Место в рейтинге пользователей: #56

Генерация расписания занятий на pdoTools


Увидел недавно вопрос на сообществе — человек хочет сгенерировать таблицу с расписанием занятий по дням.

Казалось бы, задача несложная, но это совсем не так. Стандартные сниппеты не предназначены для такой работы и их приходится запускать на каждый день недели. И даже если вас не волнует скорость работы, то в итоговой таблице будут пропущенные ячейки, что совсем не айс.

Можно сделать свой компонент расписаний, но это нужно далеко не всем, тем более, для вывода всего одной недели из дерева.

Поэтому предлагаю вам готовое решение, а заодно и демонстрацию работы с pdoTools. Конечно, можно было бы обойтись и родными методами MODX, но с ним быстрее.

Все нужные данные выбираются за один запрос, а дальше очень быстрая обработка и оформление на PHP.
Василий Наумкин
05 октября 2013, 03:56
modx.pro
17
6 158
0

[РЕШЕНО] Авторизация во все поддомены

Переключение контекстов сделано. Необходимо реализовать авторизацию сразу во все контексты из любого текущего. Цену и вопросы в личку.
MrKarandash
30 сентября 2013, 19:01
modx.pro
5
5 187
0

[решение] pdoResources вывод родительских ссылок

Использую pdoResources для вывода данных, возникла потребность вывести "категория / подкатегория" текущего документа, выискивал решения, но все неработающие.

Собственно требуется вывести их в виде ссылки с названием.

Возможно кто-то уже это реализовывал и знает готовое решение?

Моё решение задачи:
Павел Левин
13 сентября 2013, 13:11
modx.pro
1
10 584
0

Как проверять TV-поля одновр. и на '', и на NULL

Для определённости рассмотрим функционал сниппета pdoResources.
Проблема заключается в том, что классическим форматом 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)
Как видим, логика нарушена.
Cyrax_02
09 августа 2013, 16:59
modx.pro
6
5 999
0

Модификация формы создания тикета

Всем привет.

Есть такой вопрос по Тикетам. В форме создания тикета есть выпадающее меню с выбором раздела с тикетами. Вот так этот фрагмент выглядит в чанке 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>
Родителя нельзя выбрать в этом выпадающем списке, это обычный документ-контейнер, в списке он будет служить для удобного отображения большого списка разделов с тикетами.
Где формируется этот выпадающий список и как лучше всего это воплотить?
Roman Smile
12 мая 2013, 02:29
modx.pro
2
1 977
0

как произвести проверку прикреплен ли к ресурсу 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 и в зависимости от этого выполнять его вывод?
Евгений
17 февраля 2013, 09:55
modx.pro
1
1 045
0

getResources вывод документов за сегодняшнее число

Добрый день.

Нужно вывести через getResources документы, в котором через TV параметр задана определённая дата. Примерно как тут, только нужно именно за текущую дату, а не за прошлые от текущей или будущие от текущей.

Nixon
17 января 2013, 22:45
modx.pro
1
3 232
0

Вывод количество комментариев Tickets

Сразу прошу извинения у Василия потому что я наверно достал тебя :)
Прикол получился в том, что Василий давал мне код:
if ($res = $modx->getObject('Ticket',15)) {
	echo $res->get('comments');
}
Он работает замечательно если у ресурса «Тип документа» -> «Раздел тикетов»

У меня не так я проста на странице вывожу [[!TicketComments]]

Не как не получается сделать вывод кол-во комментариев вне сниплета на этой же странице где он подключен и при выводе документа через getResources

Единственный вариант который я нашёл как мне показалось самый нормальный это передавать данный в tv и сохранять их там
Добряков Алексей
07 января 2013, 16:21
modx.pro
2
7 038
0

Работа с #хэшем в url + history api

Последний проект, который я делал состоит из одной страницы, и все действия выполняются через Ajax.
Конечно, понадобилось сохранять состояние страницы, и самое универсальное решение — хэш.

Если кто не в курсе, хэшем url зовется всё, что идет после символа #. Изначально это было придумано для якорей и используется до сих пор всякими способами из-за одной особенности — изменение хэша не обновляет страницу.
Василий Наумкин
31 декабря 2012, 08:26
modx.pro
7
26 409
0

Открытие внешних ссылок в новом окне

Не знаю, кому как, а лично мне очень не нравится, когда при клике на ссылку в тексте статьи меня переслыают на другой сайт. Я же еще не дочитал!

Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.

Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
Василий Наумкин
04 декабря 2012, 07:13
modx.pro
10
8 646
0