Вопросы

Набор опций

Добрый день.
Скажите, как можно сделать, может кто сталкивался:
Нужно реализовать наборы опций для товаров.
Например Набор 1, туда входят такие-то значения опции.
Набор 2 — другие значения.
Причем значения в наборах могут пересекаться. Это нужно сделать для облегчения выбора, чтобы вместо выбора массы опций однотипных по товарам, просто выбирать нужный набор.
Андрей
27 февраля 2018, 11:29
modx.pro
945
0

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

Доброго времени суток всем читающим! Мне очень нужна ваша помощь в понимании корня проблемы. Буду крайне признателен за указание примерного ориентира для поиска решения (неговоря уже о самом решении). Переношу сайт с локального хостинга 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