Андрей Шевяков

Андрей Шевяков

С нами с 28 сентября 2016; Место в рейтинге пользователей: #108
Дима Касаткин
Вчера в 02:05
1
0
Запустит довольно просто, как раз этим занимался сейчас :) решил и здесь написать:

Создай второй контекст, создай плагин (в элементах в админке) назови например ContextSwitch и подключи его на OnHandleRequest вот код:
<?php
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

// Определяем запрашиваемый хост
$host = $_SERVER['HTTP_HOST'];

// Выбираем контекст с настройкой http_host
$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value' => $host));
$q->select('context_key');

if ($q->prepare() && $q->stmt->execute()) {
    // Получаем ключ контекста
    if ($context = $q->stmt->fetch(PDO::FETCH_COLUMN)) {
        // Web инициализируется в index.php - на него переключаться не нужно
        if ($context != 'web') {
            $modx->switchContext($context);
        }
    }
}
Далее в новом контексте укажи настройку (правый клик в админке → редактировать контекст) и добавь туда 2 системные настройки:
1. site_start (укажи id страницы в новом контексте, её нужно там создать и опубликовать) и это будет главная страница!
2. http_host (полный адрес url без https и слешей, например sub.example.com)

И всё должно заработать!
Артур Шевченко
16 апреля 2024, 20:24
2
+2
Если на fenom то как-то так наверное
{set $cats = []}
{foreach $products as $product}
    {set $parent = $product.id | resource: 'parent'}
   {set $productsByCategory[$parent][] = $product}
{/foreach}
{foreach $productsByCategory as $parent => $products}
    {$parent | resource: 'pagetitle'}
    {foreach $products as $product}
       {$product | print}
    {/foreach}
{/foreach}
Артур Шевченко
10 апреля 2024, 21:07
2
+2
switch ($modx->event->name){
    case 'msOnCreateOrder':
        $cart = $order->ms2->cart->get();
        foreach($cart as $item){
            $modx->log(1, print_r($item['options']['modification'],1));
        }
        break;
}
Павел Романов
10 апреля 2024, 11:13
1
0
Добавьте поле в таблицу (например, new_field) и сделайте плагин на событие OnMODXInit
<?php
$modx->loadClass('msProduct');
$modx->map['msProduct']['fields']['new_field'] = '';
$modx->map['msProduct']['fieldMeta']['new_field'] = array(
    'dbtype' => 'varchar',
    'phptype' => 'string',
    'precision' => '190',
    'null' => false,
    'default' => '',
);

Естественно, тип данных может быть разным.
Примеры полей можно посмотреть в файле core/components/minishop2/model/minishop2/mysql/msproduct.map.inc.php
Павел Романов
04 апреля 2024, 12:02
2
0
Можно пойти другим путем:
@EVAL 
$gp = $modx->runSnippet('grandparent');
return $modx->runSnippet('pdoResources',array(
    'parents' => $gp,
    'templates' => 4,
    'limit' => 0,
    'tpl' => '@INLINE [[+pagetitle]] ([[+id]])==[[+id]]',
    'outputSeparator' => '||'
));
Артур Шевченко
24 марта 2024, 20:33
1
+1
1. Все домены должны ссылаться на одну папку.
2. Каждый контекст должен иметь настройку http_host и base_url.
3. Нужно написать плагин который будет переключать контекст в зависимости от домена
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

// Определяем запрашиваемый хост
$host = $_SERVER['HTTP_HOST'];

if($ctx = $modx->getObject('modContextSetting', array('key' => 'http_host', 'value' => $host)) ){
    $ctx_key = $ctx->get('context_key');
    if($ctx_key != 'web'){
        $modx->switchContext($ctx_key);
    }
}
Всё. Сайты готовы.
Алексей Смирнов
11 февраля 2024, 11:35
1
+1
Ну так я о чем и говорю.
Вы же говорите о проблеме что фото постоянно заново генерятся. Или вы решили уже проблему и все хорошо?
Просто в phpThumbOn нет такой проблемы и прозрачность по-моему фиксилась far=0. Попробуйте.
Денис Усманов
02 октября 2023, 14:27
1
0
Дело в DKIM подписи…
1) Идёшь на biz.mail.ru
2) Добавляешь там новый проект (сайт) в админпанели
3) Меняешь DNS записи под mail.ru
4) После проверки DNS записей на biz.mail.ru, увидишь DKIM подпись, её тоже в DNS записи домена кидаешь
5) Ждёшь пару часов
6) Письма приходят! Профит!

P.S. В идеале, создать почтовый ящик на biz.mail.ru и через него, через SMTP отправлять письма
И вот тебе проверялка отправки писем: www.mail-tester.com/?lang=ru
Там исчерпывающе описывается, чего не хватает и, что можно улучшить.
vit
vit
28 сентября 2023, 16:09
1
+1
tableconvert.com/sql-to-csv
Вот это вам нужно, как я понял
Dan
Dan
14 августа 2023, 15:18
1
+1
В вашем вызове сниппета последние 4 параметра относятся к pdoPage, а не к mFilter2.
У mFilter2 такие параметры указываются в виде JSON внутри filterOptions.
Что можно указать в filterOptions можете посмотреть в js-файле по адресу /assets/components/msearch2/js/web/default.js