Вопросы

Ошибка при переносе сайта с локального хостинга

Доброго времени суток всем читающим! Мне очень нужна ваша помощь в понимании корня проблемы. Буду крайне признателен за указание примерного ориентира для поиска решения (неговоря уже о самом решении). Переношу сайт с локального хостинга XAMPP на хостинг best-hoster.ru. Залил файлы на сервер в корневую папку, перенес базу данных, поправил пути в файлах:
/core/config/config.inc.php

<?php
/**
 *  MODX Configuration file
 */
$database_type = 'mysql';
$database_server = 'localhost';
$database_user = 'bh63416_admin2';
$database_password = 'ТУТ УКАЗАЛ ПАРОЛЬ';
$database_connection_charset = 'utf8';
$dbase = 'bh63416_database';
$table_prefix = 'modx_';
$database_dsn = 'mysql:host=localhost;dbname=bh63416_database;charset=utf8';
$config_options = array (
);
$driver_options = array (
);

$lastInstallTime = 1518794443;

$site_id = 'modx5a86f6cb2907d2.54510685';
$site_sessionname = 'SN5a86f4927b8f1';
$https_port = '443';
$uuid = '5bd58ded-54b1-47f1-8bf6-33f7a5ee2948';

if (!defined('MODX_CORE_PATH')) {
    $modx_core_path= '/home/bh63416/lab-consulting.shegolev-ilya.ru/core/';
    define('MODX_CORE_PATH', $modx_core_path);
}
if (!defined('MODX_PROCESSORS_PATH')) {
    $modx_processors_path= '/home/bh63416/lab-consulting.shegolev-ilya.ru/core/model/modx/processors/';
    define('MODX_PROCESSORS_PATH', $modx_processors_path);
}
if (!defined('MODX_CONNECTORS_PATH')) {
    $modx_connectors_path= '/home/bh63416/lab-consulting.shegolev-ilya.ru/connectors/';
    $modx_connectors_url= '/connectors/';
    define('MODX_CONNECTORS_PATH', $modx_connectors_path);
    define('MODX_CONNECTORS_URL', $modx_connectors_url);
}
if (!defined('MODX_MANAGER_PATH')) {
    $modx_manager_path= '/home/bh63416/lab-consulting.shegolev-ilya.ru/manager/';
    $modx_manager_url= '/manager/';
    define('MODX_MANAGER_PATH', $modx_manager_path);
    define('MODX_MANAGER_URL', $modx_manager_url);
}
if (!defined('MODX_BASE_PATH')) {
    $modx_base_path= '/home/bh63416/lab-consulting.shegolev-ilya.ru/';
    $modx_base_url= '/';
    define('MODX_BASE_PATH', $modx_base_path);
    define('MODX_BASE_URL', $modx_base_url);
}
if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) {
    $isSecureRequest = false;
} else {
    $isSecureRequest = ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port);
}
if (!defined('MODX_URL_SCHEME')) {
    $url_scheme=  $isSecureRequest ? 'https://' : 'http://';
    define('MODX_URL_SCHEME', $url_scheme);
}
if (!defined('MODX_HTTP_HOST')) {
    if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) {
        $http_host='localhost';
        define('MODX_HTTP_HOST', $http_host);
    } else {
        $http_host= array_key_exists('HTTP_HOST', $_SERVER) ? $_SERVER['HTTP_HOST'] : 'localhost';
        if ($_SERVER['SERVER_PORT'] != 80) {
            $http_host= str_replace(':' . $_SERVER['SERVER_PORT'], '', $http_host); // remove port from HTTP_HOST
        }
        $http_host .= ($_SERVER['SERVER_PORT'] == 80 || $isSecureRequest) ? '' : ':' . $_SERVER['SERVER_PORT'];
        define('MODX_HTTP_HOST', $http_host);
    }
}
if (!defined('MODX_SITE_URL')) {
    $site_url= $url_scheme . $http_host . MODX_BASE_URL;
    define('MODX_SITE_URL', $site_url);
}
if (!defined('MODX_ASSETS_PATH')) {
    $modx_assets_path= '/home/bh63416/lab-consulting.shegolev-ilya.ru/assets/';
    $modx_assets_url= '/assets/';
    define('MODX_ASSETS_PATH', $modx_assets_path);
    define('MODX_ASSETS_URL', $modx_assets_url);
}
if (!defined('MODX_LOG_LEVEL_FATAL')) {
    define('MODX_LOG_LEVEL_FATAL', 0);
    define('MODX_LOG_LEVEL_ERROR', 1);
    define('MODX_LOG_LEVEL_WARN', 2);
    define('MODX_LOG_LEVEL_INFO', 3);
    define('MODX_LOG_LEVEL_DEBUG', 4);
}
if (!defined('MODX_CACHE_DISABLED')) {
    $modx_cache_disabled= false;
    define('MODX_CACHE_DISABLED', $modx_cache_disabled);
}
/config.core.php

<?php
define('MODX_CORE_PATH', '/home/bh63416/lab-consulting.shegolev-ilya.ru/core/');
define('MODX_CONFIG_KEY', 'config');
/connectors/config.core.php
<?php
define('MODX_CORE_PATH', '/home/bh63416/lab-consulting.shegolev-ilya.ru/core/');
define('MODX_CONFIG_KEY', 'config');
/manager/config.core.php

<?php
define('MODX_CORE_PATH', '/home/bh63416/lab-consulting.shegolev-ilya.ru/core/');
define('MODX_CONFIG_KEY', 'config');
Но в логе возникает все равно возникает ошибка (и сайт «Site temporarily unavailable.»)
[2018-02-27 11:38:23] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:23] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoquery.class.php : 653) Could not construct or prepare query because it is invalid or could not connect: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting` 
[2018-02-27 11:38:23] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:23] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoobject.class.php : 263) Error preparing statement for query: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting`  - 
[2018-02-27 11:38:23] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:23] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoquery.class.php : 653) Could not construct or prepare query because it is invalid or could not connect: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting` 
[2018-02-27 11:38:23] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:23] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoobject.class.php : 263) Error preparing statement for query: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting`  - 
[2018-02-27 11:38:23] (FATAL) Could not load core MODX configuration!
[2018-02-27 11:38:24] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:24] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoquery.class.php : 653) Could not construct or prepare query because it is invalid or could not connect: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting` 
[2018-02-27 11:38:24] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:24] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoobject.class.php : 263) Error preparing statement for query: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting`  - 
[2018-02-27 11:38:24] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:24] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoquery.class.php : 653) Could not construct or prepare query because it is invalid or could not connect: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting` 
[2018-02-27 11:38:24] (ERROR in xPDOConnection::connect @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/xpdo.class.php : 3116) SQLSTATE[28000] [1045] Access denied for user 'bh63416_admin2'@'localhost' (using password: YES)
[2018-02-27 11:38:24] (ERROR @ /home/bh63416/lab-consulting.shegolev-ilya.ru/core/xpdo/om/xpdoobject.class.php : 263) Error preparing statement for query: SELECT `modSystemSetting`.`key` AS `modSystemSetting_key`, `modSystemSetting`.`value` AS `modSystemSetting_value`, `modSystemSetting`.`xtype` AS `modSystemSetting_xtype`, `modSystemSetting`.`namespace` AS `modSystemSetting_namespace`, `modSystemSetting`.`area` AS `modSystemSetting_area`, `modSystemSetting`.`editedon` AS `modSystemSetting_editedon` FROM `modx_system_settings` AS `modSystemSetting`  - 
[2018-02-27 11:38:24] (FATAL) Could not load core MODX configuration!
Уже вторые сутки не могу решить эту проблему с гуглом, поэтому обращаюсь к вам. Большое спасибо всем, кто уделит внимание моей проблеме.
Илья
27 февраля 2018, 10:09
modx.pro
5 982
0

Есть ли плейсхолдер для вывыда используемого filter_delimeter ?

Всем привет! Есть у меня селест с сортировкой по цене, но вот беда — как получить значение разделителя между именем таблицы и полем фильтра?
<select class="selectpicker"  id="mse2_sort" data-width="fit">
      <option class="sort" data-sort="ms$price" value="asc" data-icon="icon-sort-amount-asc">По цене</option>
      <option class="sort" data-sort="ms$price" value="desc" data-icon="icon-sort-amount-desc">По цене</option>
    </select>
Roman
27 февраля 2018, 08:49
modx.pro
690
0

Как сделать, чтобы getImageList понимал тэги Fenom?

Читал в этом вопросе, что можно просто заменить $modx->getChunk.

Я сделал копию getImageList и добавил в начало:
$path = MODX_CORE_PATH . 'components/pdotools/model/pdotools/';
$pdoFetch = $modx->getService('pdofetch','pdoFetch', $path, $scriptProperties);

И заменил $modx->getChunk на $pdoFetch->getChunk здесь

Но все равно тэги Fenome не распознаются.

Нужно это мне для работы с пагинацией и сложных чанков с условиями:
{'!pdoPage' | snippet : [
                'element' => 'getImageList',
                'docid' => $_modx->resource.id,
                'tvname' => 'resourcealbum',
                'processTVs' => 0,
                'where' => [
                    'active' => 1,
                ],
                'ajaxMode' => 'button',
                'tpl' => 'migx.gallery.item',
                'limit' => 2,
            ]}
Игорь Терентьев
26 февраля 2018, 19:50
modx.pro
1 440
0

Как исправить сниппет на вывод количества тикетов в разделе modx?

Приветствую пользователей сайта modx.pro. Есть сниппет который считает количество тикетов в разделе и выводит цифру в меню. Как исправить сниппет, что если тикетов в разделе нет, то выводило 0, а не id раздела.
<?php
$ids = $modx->getChildIds($input);
$count = $modx->getCount('modResource', array(
    'id:IN' => $ids,
    'published' => 1,
    'deleted' => 0,
    'hideMenu' => 0,
    'isfolder' => 0
));

return $count;


Там где Html & Css раздел, выводит id ресурса, почему то, вместо 0. Там новостей нет.
Владислав
26 февраля 2018, 17:31
modx.pro
924
0

Не сохраняются настройки minishop2

Добрый день! Хочу поменять настройки дополнительных полей товара (ms2_product_extra_fields),
но при изменении ничего не происходит, поля ни добавляются, ни удаляются, пробовал очистить значения параметра ms2_product_extra_fields — ничего не происходит.
нашел файлик sitename.ru/core/cache/system_settings/config.cache.php,
там увидел в массиве ключ ms2_product_extra_fields, а в нем нужные мне параметры, изменил — в админке поля поменялись, но вот каждый раз лазить в этот файл не хочется, как поправить чтоб возможно было менять параметры из админки?
Roman
26 февраля 2018, 10:52
modx.pro
1 751
0

pdoSitemap для мультиязычных сайтов

Есть сайт с несколькими языками. Для каждого сайта свой контекст с разделением по URL (/ru, /en, /de). Google рекомендует для таких сайтов делать sitemap следующего вида:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  
  <url>
    <loc>http://www.example.com/en/catalog</loc>
    <xhtml:link 
                  
                 rel="alternate"
                 hreflang="de"
                 
                 href="http://www.example.com/de/catalog"
                 />
    <xhtml:link 
                  
                 rel="alternate"
                 hreflang="de-ch"
                 
                 href="http://www.example.com/ru/catalog"
                 />
    <xhtml:link 
                  
                 rel="alternate"
                 hreflang="en"
                 
                 href="http://www.example.com/en/catalog"
                 
                 />
  </url>
</urlset>
Как это можно реализовать с использованием pdoSitemap?
Антон
26 февраля 2018, 10:09
modx.pro
1 380
+1

Как проверить в fenom истекла ли текущая дата или нет

Набросал кодик.
{if $_pls['tv.event_data'] != NULL}
                    <span class="white-text event-data">Дата: {if $_pls['tv.event_data'] ЧТО ТУТ НУЖНО ($date | date : 'd/m/Y')}{$_pls['tv.event_data']|date_format:"%d/%m/%Y"}{else}Завершено{/if}
                    </span>
                {/if}
Вот не могу понять как проверить истекла ли дата или нет. Я так полагаю, что дата это строка, а как проверить хз что-то…
Дмитрий
26 февраля 2018, 09:30
modx.pro
3 141
0

Оплата через mspSberbank ссылка с оплатой в письме

Добрый день. Клиент хочет реализовать
Клиент, делая заказ на сайте и выбирая оплату картой не должен попадать сразу на страницу
оплаты, а, как вариант, в ответном письме он получал бы ссылку на оплату, то есть вместе с информацией о его заказе была бы и ссылка на оплату
На сайте идет оплата через mspSberbank, а так же отправка чеков в налоговую по статусу заказа id==2.
Как отправлять в письме ссылку на заказ и что бы после оплаты статус менялся на «Оплачено».
Сергей
26 февраля 2018, 08:00
modx.pro
2 053
0

Нужна помощь с MODX и отправкой push-уведомлений

Мне нужна помощь с настройкой расширения. Там по умолчанию стоит отправка на почту при регистрации нового пользователя. Так же, если знаете сервис по лучше(бесплатный), то напишите про него и как его настроить.

Но мне нужно:
1) Отправлять, не на почту, а push-уведомления пользователям через систему SendPulse.
2) Отправлять только тогда, когда будет опубликована новая новость.

Новости помещаются в Контейнер с ID: 35.

Помогите пожалуйста решить данную проблему, так как в коде modx я на 0.
Дмитрий
25 февраля 2018, 19:10
modx.pro
1 042
0

Не меняется цена в msOptionsPrice2

Доброго времени суток, друзья! Делаю интернет-магазин, и мне нужно настроить изменение цены в зависимости от веса продукта. Нашел дополнение msOptionsPrice2. Настраивал по документации, но что-то пошло не так и цена не меняется:( Если смотреть в браузере, то запрос через ajax идет, но цена не меняется.
Делал по следующему алгоритму:
— Завел опцию в минишоп с типом «множественный список», где перечислил весь продукта.
— У продукта добавил модификацию, в которой привязал цену к конкретной опции
— Сделал инициализацию [[!msOptionsPrice.initialize?]], в дальнейшем другие шаблоны наследуют этот шаблон
— Написал следущий чанк с классами
<div class="product-block ms2_product ">
      <form  method="post"  class="form-product ms2_form msoptionsprice-product">
        <div class="item">
            <a href="{$id | url}" class="msoptionsprice-name msoptionsprice-{$id}" title="{$pagetitle}">
                <div class="product-img">
                    {if $medium?}
                        <img src="{$medium}" alt="{$pagetitle}"/>
                    {else}
                        <img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
                             srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
                             alt="{$pagetitle}" title="{$pagetitle}"/>
                    {/if}
                </div>
                <div class="text">
                     <p class="product-name">{$pagetitle}</p>
                    <p class="price"><span class="msoptionsprice-cost msoptionsprice-{$id}">{$price}</span> руб</p>
                </div>

            </a>
            <div class="weight msoptionsprice-mass msoptionsprice-{$id}">
               {'!msOptionsPrice.option' | snippet : [
                   'product'=>$id,
                   'options'=>'packaging',
                   'tpl'=>'tpl.options-weight'
                ]}
                
        </div>
            <div class="btns">
                <button type="submit" name="ms2_action" value="cart/add" class="submit"><i class="sprite basket-item"></i>В корзину</button>
                <input type="text" class="msoptionsprice-count" name="count" value="1" class="count">
            </div>
           	<input type="hidden" name="id" value="{$id}">
            <input type="hidden" name="key" class="key-product" value="">
            <input type="hidden" name="options" value="[]">
          	{foreach $options as $name => $value}
				<input type="hidden" name="options[{$name}]" value="{$value}">
			{/foreach}
        </div>
    </form>  
</div>
— Создал чанк для вывода через msOptionsPrice.option
{foreach $options as $name => $values}
        {foreach $values as $value index=$index}
            <label  for="opt-{$value}" {if $index == 0}class="checked"{/if}>
            <input type="radio" value="{$values[$index]}" id="opt-{$value}" name="options[{$name}]" 
                {if $index == 0}checked="checked"{/if}
                />
                {$values[$index]}
            </label>
        {/foreach}
{/foreach}
Вообщем, не понимаю что делаю не так)
Morozko12
25 февраля 2018, 18:47
modx.pro
2 643
0