Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Василий Наумкин
Василий Наумкин
У тебя 3 разных поддомена.

Сессия — это кука, которая выставляется в бразуер и по ней поднимается информация с сервера. При авторизации по основному домену, кука выстаовется только для него.

Чтобы выставлялось и для поддоменов, нужно указать системную настройку
session_cookie_domain = mysite.com

И тогда всё работает.
Павел Левин
Павел Левин
Когда я делал мультиязычность на своём проекте с помощью babel я использовал следующие мануалы:
Документация Babel на русском
MODx REVO multilanguage Мультиязычность + Babel (способ настройки без изменения .htacces)

Пример плагина: Switchlang
<?php
$lankey = substr($_SERVER['REQUEST_URI'],1,2);
if($modx->context->get('key')!="mgr"){
    //grab the current domain from the http_host option
    switch ($lankey) {
        case 'en':
            //switch the context
            $modx->switchContext('en');
            //set the cultureKey
            $modx->setOption('cultureKey','en');
            break;
        case 'es':
            $modx->switchContext('es');
            $modx->setOption('cultureKey', 'es');
            break;
        default:
            // Set the default language/context here
            $modx->switchContext('web');
            $modx->setOption('cultureKey', 'ru');
            break;
    }
}
системное событие: OnHandleRequest

Статья немного битая, но в целом всё понятно, понятно что
</span><span class="pun">
не должно быть в config.core.php и вообще его не нужно открывать)

В зависимости от кол-ва требуемых языков, создаются папки, в моём случае это "en" и "es" т.е. английский и испанский (хочу заметить, что web — это русский язык).

Всё отлично работает, также и с пакетом Article (дополнение для новостных сайтов, добавляет новую возможность "Создать->Создать Статьи здесь" и уже внутри создавать дочерние документы и с интерфейсом управления).
Антон Соловьёв
Антон Соловьёв
Скажите, при авторизации через HybridAuth возникала ошибка You cannot access this page directly.
я быстро нашёл в поиске, что для этого нужно в index.php добавить ini_set('apc.cache_by_default', 'Off'); // Отключение кэширования php-apc
вставил, глюк пропал.
но ведь не может же быть, чтоб HybridAuth не мог в принципе работать с php-apc.
или мы добавив в индекс отключение apc.cache_by_default вырубаем его не для всей cms и по-этому можно юзать этот тип кеширования?
Павел Левин
Павел Левин
Как я понял, если требуется в сам файл, то нет, даже нет смысла писать скрипт и работать с файлом т.к. это бред.

Самое простое, в шаблоне указать:
<style type="text/css"></style>
а внутри вызвать ТВ, к примеру:
<style type="text/css">[[!*tv_style]]</style>
где tv_style — это название ТВ параметра, который является "Текстовая область" и уже непосредственно в документе во вкладке "Дополнительные поля", вписывать css.

— ЗЫ: если я правильно понял.