SEQUEL.ONE

SEQUEL.ONE

С нами с 16 июня 2015; Место в рейтинге пользователей: #163
SEQUEL.ONE
14 марта 2019, 23:31
0
Можно открыть файл базы SQL в Notepad++ выделить всё CTRL+A, потом вырезать CTRL+ X, поменять кодировку на UTF-8 без BOM. Вставить всё из буфера обратно CTRL+V и сохранить файл. Потом эту базу можно импортировать через phpMyAdmin и кодировка будет UTF-8, если на сервере выставлена настройка в phpmyadmin (кодировка UTF-8 по умолчанию).
SEQUEL.ONE
14 марта 2019, 23:25
0
Также можно ещё посмотреть лог PHP.
SEQUEL.ONE
14 марта 2019, 23:25
0
Во вкладке Network ещё есть вкладка Response. В неё обычно и пишутся ошибки связанные с админкой, если они есть.
SEQUEL.ONE
14 марта 2019, 23:10
0
Открыл код сайта, увидел:

<title class="ffmsm sf_title">Сода Bob's Red Mill купить с доставкой по Москве и России</title>
С фейспалмом закрыл сайт.
SEQUEL.ONE
14 марта 2019, 23:05
0
Можно и TV-параметром обойтись, вводить в него id категорий через запятую и потом через pdoResource получить их список ресурсов через пареметр resources. Тоесть вставить твшку в вывод pdoResource примерно так:

{'!pdoResource' | snippet : [
'parents' => 0,
'resources' => $_modx->resource.tv_name
'tpl' => ''
]}
Это самый примитивный способ.
SEQUEL.ONE
13 марта 2019, 01:12
0
Вот за это спасибо, вроде научился недавно компоненты делать, сложные интерфейсы рисовать, а с плагинами беда. Единственное что намулевал так это маршрутизацию. Сейчас делаю репозиторий свой для MODX. Интерфейс готов, потихоньку с rest api разбираюсь. Удалось из базы вывести и сгенерить XML sequel.one/extras/repository/
sequel.one/extras/verify/
SEQUEL.ONE
13 марта 2019, 01:01
0
Вопрос снимается, всё дело было в системной настройке lastmodified.prevent_session. Удалил от туда minishop2 и всё заработало)
SEQUEL.ONE
13 марта 2019, 00:48
0
Целый день потратил на то, чтобы запустить плагин на сайте со всеми идентичными настройками как у другого сайта где он работает, плагин даже ошибок никаких в лог не пишет :(

Ума не приложу как его завести((( Похоже придётся поочерёдно все плагины по-выключать.
SEQUEL.ONE
12 марта 2019, 23:48
0
Нашёл в чём дело в файле \core\components\localizator\model\localizator\localizator.class.php

if($language) {
            if (preg_match("/^(http(s):\/\/)/i", $language->http_host)) {
                $site_url = $language->http_host;
            }
            else
                $site_url = MODX_URL_SCHEME . $language->http_host;
Вот эту строчку

$site_url = MODX_URL_SCHEME . $language->http_host;
заменить на

$site_url = 'https://' . $language->http_host;
Но костыль не очень конечно. Если обновлять на новые версии, то всё потрётся. Как придумать по деликатнее способ?
SEQUEL.ONE
12 марта 2019, 19:43
0
Возникла проблема с HybridAuth, все ссылки, которые идут в response переходят на сайт провайдера с ошибкой из-за протокола. Протокол HTTP, вместо HTTPS. Что с этим можно сделать? Если в компоненте http_host ввести site.ru/ то это работает, но всё остальное отображается не так. Подставляя URL спереди ещё одну копию https://
SEQUEL.ONE
12 марта 2019, 18:40
0
Похоже зря я на ваш плагин грешил) Пользуюсь cloudflare.com и там настройку выключил Always Online™

После этого заработало. Но пытаюсь с идентичными настройками на другом домене воспроизвести, так ничего пока не вышло. Сижу ковыряюсь)))
SEQUEL.ONE
12 марта 2019, 16:15
+1
Важный момент, у вас должен быть выключен SSI в WWW-доменах.
SEQUEL.ONE
12 марта 2019, 16:07
0
Сейчас у себя пробую данный плагин. Похоже дело в нём, если на плагин повесить событие OnHandleRequest и добавить следующий код, то в сервисе last-modified.com/ru/ всё отдаёт корректно.

<?php
$LastModified_unix = 1294844676; // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
    $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));  
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
    $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
    header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
    exit;
}
header('Last-Modified: '. $LastModified);
Пробую сейчас поковырять сам плагин.
SEQUEL.ONE
12 марта 2019, 13:48
0
Сервер под FastCGI ложиться, потому, что не настроены конфиги под MODX. Оставьте версию Apache и PHP 7.0

Я сейчас посмотрю как у меня настроено, я вроде бы какие-то дополнительные правки вносил. А сжатие выставляли в WWW-доменах?
SEQUEL.ONE
12 марта 2019, 13:22
0
Попробуйте для начала включить Apache для версии PHP 7.0, а потом подключите эту связку в WWW-доменах к сайту.
SEQUEL.ONE
12 марта 2019, 13:19
0
Стабильная версия PHP под MODX 7.0

В WWW-домены у сайта сервер какой подключен? Apache, CGI или FastCGI?
SEQUEL.ONE
12 марта 2019, 12:50
0
Проблема не с протоколом 100%. Видимо чего-то на сервере не хватает. Какая конфигурация сервера? Какой веб-сервер стоит? Apache или nginx?
SEQUEL.ONE
11 марта 2019, 19:32
0
А как source ввести другой? У меня в одной форме есть выбор media-source. Я хочу привязать к форме тот путь, что я создал.

source: config.source || MODx.config.default_media_source
    });
Как я понимаю нужно что-то с этим делать.
SEQUEL.ONE
11 марта 2019, 18:37
0
А всё. Разобрался. Надо было так писать:

$c->leftJoin('ExtrasPackages', 'ExtrasPackages', 'ExtrasPackages.id = ExtrasReleases.package_id');
        $c->select(array($this->modx->getSelectColumns('ExtrasReleases', 'ExtrasReleases')));
        $c->select(array('ExtrasPackages.id as package_id', 'ExtrasPackages.name as package_name'));
        $c->groupby($this->classKey . '.id');

        $package_id = trim($this->getProperty('package_id'));
        if ($package_id) {
            $c->where(array(
                'package_id' => $package_id
            ));
        }
SEQUEL.ONE
11 марта 2019, 18:23
0
Спасибо. Но у меня не вышло. После того как добавляю в процессор:

$c->leftJoin('ExtrasPackages', 'ExtrasPackages', '`ExtrasPackages`.`id` = `'.$this->classKey.'`.`package_id`');
        $c->select($this->modx->getSelectColumns($this->classKey, $this->classKey));
        $c->select('`ExtrasPackages`.`id` as `package_id`');
        $c->groupby($this->classKey . '.package_id');

        $package_id = trim($this->getProperty('id'));
        if ($package_id) {
            $c->where(array(
                'package_id' => $package_id
            ));
        }
Таблица перестаёт отображаться вообще.