Илья Уткин

Илья Уткин

С нами с 15 декабря 2012; Место в рейтинге пользователей: #9
Илья Уткин
20 октября 2016, 12:24
+3
Для записи сеансов можно воспользоваться customExtra
Илья Уткин
20 октября 2016, 12:23
0
Можно сделать в плагине
$modx->setPlaceholder('res_id', $id);

А в сниппете потом получить его так
$id = $modx->getPlaceholder('res_id');

Ну и на странице будет доступен [[!+res_id]].
Илья Уткин
20 октября 2016, 08:43
0
А, ты еще не внёс изменения… Потому что у меня вот так:
Илья Уткин
20 октября 2016, 08:39
+7
Ах, чертяка… Придётся ставить этот ваш AdminTools…
Илья Уткин
19 октября 2016, 08:32
+2
Либо пишите свой сниппет, либо используйте дополнение Switch
Илья Уткин
19 октября 2016, 08:29
0
Нужно создать плагин, и в нём определить свою логику. Вот подробная инструкция: bezumkin.ru/sections/tips_and_tricks/2918/

Готового решения нет, придётся программировать.
Илья Уткин
18 октября 2016, 19:19
0
Вам нужно писать свой сниппет. Сначала выбирать 3 ресурса, у которых дата больше, чем сегодня, потом 3, у которых меньше. Даты полученных ресурсов сравнивать и показывать только 3 ближайших.
Илья Уткин
16 октября 2016, 11:19
+1
Ответ-то есть, но готового решения никто не предоставит, так как задача довольно специфическая. Теория такая:

Нужно производить выборку по объектам modTemplateVarResource, к каждому из которых «приджойнить» соответствующий ресурс (тикет), тогда у вас и будут соответствующие «дубли».

А вот чтобы реализовать это на практике, нужно составить правильный запрос, для чего нужно создать тестовый сервер, создать эти ТВ-шки, несколько тикетов и тестировать. Это, конечно, долго и никто бесплатно делать этого не собирается.
Илья Уткин
15 октября 2016, 21:54
0
Нужно приджойнить (Join) дочерние ресурсы и в where дописать условие Children.id IS NOT NULL
Илья Уткин
14 октября 2016, 17:48
0
Да, это глюк. Но для новых страниц всё должно быть нормально. Попробуйте создать нового специалиста.
Илья Уткин
14 октября 2016, 08:18
0
Попробуй убрать все $modx->setLogLevel и $modx->log — может, это прерывает его работу…
Илья Уткин
12 октября 2016, 16:09
0
Вот тут и источник создаётся, и пользователь с ограниченным доступом: modx.pro/solutions/10026-script-to-create-user-defined/
Илья Уткин
12 октября 2016, 08:29
0
Ну, в сборке ТВ-шки прицепляются ко всем шаблонам (вроде). Делать настройку в виде интерфейса сложновато.

А если делать свою сборку, то вариант выше — вполне подойдёт. Мне надо в сборке добавить чекбоксы — какие чанки создавать, какие дополнения устанавливать. Вот это будет удобно, но никак руки не дойдут)))
Илья Уткин
11 октября 2016, 15:08
2
+3
У меня есть вот такой файлик, который позволяет большие числа переводить в 60-ричную систему для сокращения количества символов:

<?php
class SixtyCoder {
    public $table = '0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ';
    
    public function to60($number = 0) {
        $number = (int) $number;
        $output = '';
        return $this->divide($number);
    }
    
    public function from60($letters = '0') {
        $length = strlen($letters);
        $number = 0;
        for ($i = 0; $i < $length; $i++) {
            $pos = strpos($this->table, $letters[$i]);
            if ($pos === false) {
                return 0;
            }
            $pow = $length - ($i+1);
            $number = $number + $pos * pow (60, $pow);
        }
        return $number;
    }
    
    public function divide($number = 0, $letters = '') {
        if ($number < 60) {
            $letters = $this->getLetter($number) . $letters;
        } else {
            $rest = $number % 60;
            $letters = $this->getLetter($rest) . $letters;
            $number = ($number - $rest) / 60;
            $letters = $this->divide($number, $letters);
        }
        return $letters;
    }
    
    public function getLetter($number) {
        return substr($this->table, $number, 1);
    }
}

$coder = new SixtyCoder();
$time = time();
echo 'Long: ' . $time;
$short = $coder->to60($time);
echo '
Short: ' . $short;
echo '
Long from short: ' . $coder->from60($short);
Илья Уткин
04 октября 2016, 08:41
0
Та же самая фигня, что и в моём коде.

JavaScript делает ассинхронный запрос и то, что указано внутри success выполняется после всего остального кода. Вот внутри этого success вам нужно заново найти окно (которое в этот момент уже будет открыто) и модифицировать его.

К сожалению, конкретных методов ExtJS для этого подсказать не смогу. Создайте отдельный вопрос конкретно под эту задачу — как в ExtJS обратиться к окну по его id и добавить в него полей. Надеюсь, вам помогут.
Илья Уткин
03 октября 2016, 20:57
0
Да, всё верно говорят, сейчас слишком много неопределённости. Создайте сайт (если его еще нет), сделайте вёрстку страниц — страницу группы с кнопкой «Присоединиться», форму для создания группы, настройте личный кабинет на сайте и ищите уже специалиста под конкретное задание.
Илья Уткин
29 сентября 2016, 21:04
+1
[[#[[+master]].pagetitle]]
Илья Уткин
23 сентября 2016, 08:27
0
1. Займёт 1 час времени
2. Есть 2 варианта: без AJAX — часа 2, с AJAX — 3-4 часа

Итого в зависимости от выбора стоимость составит от 2 400 руб. до 4 000 руб. Если вёрстка сложная, то стоимость может увеличиться.