Вопросы

Почему в ресурсах нету переключателя на Английскую версию ? Babel

Здравствуйте подскажите пожалуйста, использую компонент Babel для мультиязычности.
Создал контекст En для английской версии сайта, а web (был уже создан) для русской версии.
Затем установил Babel, ну точнее удалил а потом по новой установил, т.к. он уже был установлен перед созданием контекстов.
Ну после установки Babel, в первоначальной настройке два моих контекста были, «web, en» в поле для ввода. Собственно проблема в том, что при создании ресурса в контексте EN в выпадающем списке только «ru» см. скриншот.

а должен же быть ещё один язык (EN). Не понимаю почему так происходит. Подскажите пожалуйста. Заранее благодарю.
Настройка контекста вот:


cat-art.ru/articles/multiyazyichnost-modx-revo — настраивал по этой инструкции.
Сергей Хлопов
03 октября 2018, 12:01
modx.pro
904
0

[Решено] [pdoResources] - не работает параметр context?

Или я чего-то не понимаю, или pdoResources отказывается принимать праметр context.
Кто-нибудь сталкивался с таким поведением?
Если да, то как его обойти, чтобы выводило только из указанного контекста?

Привожу листинг кода:
Василий Столейков
03 октября 2018, 07:06
modx.pro
2 001
0

ms2Gallery - сделать переключатели

Здравствуйте, есть сайт с галереей ms2Gallery, заказчику понадобилось сделать переключатели между изображениями, есть ли встроенный способ это реализовать в ms2Gallery?
Николай
02 октября 2018, 18:01
modx.pro
916
0

Элементы соц. сетей в MODX

Хочу сделать компонент добавления пользователей «В друзья».

Стандартный функционал любо социальной сети это добавление в друзья.

Возник вопрос как лучше всего смоделировать модель в БД, какие поля в таблицах связывать, композиционно или агрирующе. Как правильнее всего это сделать.

Как должны храниться записи и что меняться при статусах «Добавлен, но не подтвержден» или «На рассмотрении», «Заблокирован», «В друзьях», «Удален из друзей».

Буду рад любым советам.

UPD: Вот как вижу таблицу с добавлениями, назовем ее modx_friends

id
user_id
consideration
friend
blocked
removed
active
createdon
editedon

Джоиним user_id и id из таблицы modx_users
SEQUEL.ONE
02 октября 2018, 15:11
modx.pro
805
0

Не получается правильно указать путь источника файлов

Добрый день! Вот такая проблема, указал источник файлов в определенной папке, а сайт пытается эти файлы выкачать из корня, как исправить?
Семен Красиков
02 октября 2018, 14:26
modx.pro
1 095
0

LastModified и Office

Столкнулся с прoблемой компонента LastModified и Office. При включённом плагине перестаёт корректно работать авторизация. После ввода данных и нажатии на кнопку Вход не происходит смены чанков с не авторизованного на авторизованный и также с выходом. Ты вроде вышел, а отображается твоя учётка. При обновлении кэша браузера через CTRL + F5 всё нормально отображается. Может кто-нибудь подсказать как можно плагин допилить, чтобы сниппет Office не кэшировался?

<?php
/**
 * MODx Revolution plugin which handle request If-Modified-Since
 *
 * @package lastmodified
 * @var modX $modx MODX instance
 * @var integer $dtm Value of last update time of document
 * @var integer $ltm Value of HTTP_IF_MODIFIED_SINCE from request
 * @var string $rule Cache-control directive (public, private)
 * @var integer $maxage Cache max age in seconds
 * @var integer $expire Cache expire in seconds
 */
if ($modx->event->name == 'OnWebPagePrerender') {
    $dtm = ($modx->resource->get('editedon')) ? strtotime($modx->resource->get('editedon')) : strtotime($modx->resource->get('createdon'));
    if (empty($dtm)) {
        return '';
    }

    $rule = trim($modx->getOption('lastmodified.response'));

    if (!in_array($rule, ['private', 'public'])) { // 'no-cache'
        $modx->log(xPDO::LOG_LEVEL_ERROR, 'LastModified: wrong response directive value. Check configuration.');
        return '';
    }

    $maxage = ((int)$modx->getOption('lastmodified.maxage') > 0) ? (int)$modx->getOption('lastmodified.maxage') : 3600;
    $expire = ((int)$modx->getOption('lastmodified.expires') > 0) ? (int)$modx->getOption('lastmodified.expires') : 3600;

    if (!empty($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
        $ltm = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
        if ($dtm <= $ltm) {
            $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1';
            header($protocol . ' 304 Not Modified');
            header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $dtm) . ' GMT');
            header('Cache-control: ' . $rule . ', max-age=' . $maxage);
            header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expire));
            exit();
        }
    }
    header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $dtm) . ' GMT');
    header('Cache-control: ' . $rule . ', max-age=' . $maxage);
    header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expire));
    return '';
}

/**
 * Update parent editedon field
 *
 * @var modX $modx MODX instance
 * @var modResource $parent Parent resource object
 */
if ($modx->event->name == 'OnDocFormSave') {

    if ($modx->getOption('lastmodified.update_start')) {

        $mainId = $modx->getOption('site_start');

        if ($mainId > 0 && $mainId !== $id) {

            $main = $modx->getObject('modResource', $mainId);

            if (!$main instanceof modResource) {
                $modx->log(xPDO::LOG_LEVEL_ERROR, 'LastModified: get wrong modResource instance for main page with id ' . $mainId . ' for document ' . $id. '.');
                return '';
            }

            $main->set('editedon', time());
            $main->save();

            unset($main);
        }

        unset($mainId);
    }

    if ($modx->getOption('lastmodified.update_parent')) {
        $level = ((int)$modx->getOption('lastmodified.update_level') > 0) ? (int)$modx->getOption('lastmodified.update_level') : 1;

        $parentIds = $modx->getParentIds($id, $level, ['context' => 'web']);

        foreach ($parentIds as $parentId) {
            if ($parentId === 0) {
                continue;
            }

            $parent = $modx->getObject('modResource', $parentId);

            if (!$parent instanceof modResource) {
                $modx->log(xPDO::LOG_LEVEL_ERROR, 'LastModified: get wrong modResource instance for parent with id ' . $parentId . ' for document ' . $id. '.');
                return '';
            }

            $parent->set('editedon', time());
            $parent->save();

            unset($parent);
        }

        return '';
    }
}
SEQUEL.ONE
02 октября 2018, 13:54
modx.pro
1 938
0

Как вывести количество просмотров в ModX Revo Tickets при просмотре самого тикета?

Когда мы выводим список тикетов при помощи getTickets все понятно, там есть плейсхолдер [[+views]] и он прекрасно работает. А вот как отобразить это самое количество просмотров при отображении шаблона (или чанка) самого тикета? Там конструкция [[+views]] и даже [[*views]] не работает.
Markus
02 октября 2018, 13:17
modx.pro
1 503
0

Minishop2 - msOrder - Флажок для условий

Hello MODXers

как я могу включить флажок как «обязательный» в Chunk tpl.msOrder?
(How can I add a checkbox into tpl.msOrder and make it required?)

<input id="agb" type="checkbox" name="agb" value="agb" >
Thank you
Fabian Christen
02 октября 2018, 10:01
modx.pro
1 449
0

Как осуществить перевод в Babel опций товара в Minishop2

Собственно вопрос в заголовке



Как правильно сделать перевод опций на английский язык для второго контекста
они участвуют в работе фильтра mFiltr2
на сайте два контекста — русский и английский
igor
02 октября 2018, 08:30
modx.pro
2 229
0

fenom

Как в fenom проверить кратность переменной?

Четное — $a is even
Нечетное — $a is odd

А кратно трем или четырем?
Максим
01 октября 2018, 21:45
modx.pro
2 543
0