Localizator: TV и MIGX не переводило, а ларчик оказалось открывался просто

Столкнулся с одной особенностью работы Localizator с MIGX и TV.
Все никак не получалось заставить Localizator правильно переводить MIGX поля и в некоторых случаях отдельные TV поля. Перепробовал кучу вариантов, пытался выводить через выводы сниппетов localizator, pdoResources, getImageList. Потратил пару суток впустую, кучу нервов и сил.
А в итоге оказалось все просто. Случайно обнаружил что некоторые TV переводит, а некоторые нет.
В некоторых местах я MIGX выводил следующим образом:
{set $rows = json_decode($_modx->resource.id | resource : 'migx_why_us_list', true)}
{foreach $rows as $idx =>$row1 index=$index}
    <li>
        {$row1.textprichini}
    </li>
{/foreach}
где migx_why_us_list — MIGX поле.
В итоге вывод этого кода не переводился как надо, выводился только MIGX не из переводов.
Но если заменить
$_modx->resource.id | resource : 'migx_why_us_list'
на
$_modx->resource.migx_why_us_list
то все начинает работать как надо.
Олег Захаров
03 июня 2024, 14:36
modx.pro
2
1 768
+4

Свое поле в заказе

3 1 000
Напишите свою стоимость и я буду согласовывать ее с заказчиком.
Требуется в корзине MS2 и в форме msOneClick добавить поле с типом number и min=«25» для изменения веса у каждого товара в корзине и в msOneClick.
Я попробовал добавить поле, но в письме и в заказе вес прописывается без изменений.
Смысл в том, что любой товар можно купить в любом количестве (товар весовой) и во время заказа в корзине покупатель пишет требуемый вес в килограммах. Далее менеджер связывается с ним и оговаривает стоимость.

Мне подсказали, что надо написать плагин, который будет передавать вес в заказ (этого я сам не могу сделать).
Нужна помощь.
Олег
01 июня 2024, 23:26
modx.pro
225
0

как менять вес в корзине?

Здравствуйте!
Заказчик просит в корзине дать возможность покупателю прописать требуемый вес для каждого товара.
Я попробовал сделать по аналогии с количеством, но в списке заказов и на почту приходит вес без изменений.
Подскажите, что нужно подправить, чтобы в заказ передавался вес из корзины?

<form method="post" class="ms2_form form-inline" role="form">
                                <input type="hidden" name="key" value="{$product.key}">
                                <div class="form-group">
                                    <input type="number" name="weight" value="{$product.weight}"  min="25"
                                           class="input-sm form-control"/>
                                    <span>кг</span>
                                    <button class="btn btn-default" type="submit" name="ms2_action" value="cart/change">
                                        <i class="fa fa-refresh"></i>
                                    </button>
                                </div>
                            </form>
В письме вывожу так:
<td style="{$style.th}">{$product.weight} кг</td>
Олег
01 июня 2024, 18:59
modx.pro
311
0

Доработка mSync

5
Все привет!

Необходимо доработать импорт товаров из 1с УТ 10.3 в minishop. Установлен mSync, импорт падает с ошибками.
Для разработки можем предоставить архив с файлами выгрузки, в дальнейшем доступ к серверу.
Подробнее с кандидатом.
Илья
31 мая 2024, 13:44
modx.pro
229
0

Задваиваются письма

При регистрации пользователя через LOGIN подключил сниппет '&postHooks=`email_reg_user`'
<?php
$email = $hook->getValue('email');
$username = $hook->getValue('username');
$password = $hook->getValue('password');
$fullname = $hook->getValue('fullname');
$phone = $hook->getValue('phone');

//отправляем админу
$message_admin = $modx->getChunk('adminEmailTemplate_reg',array(
   'email' => $email,
   'fullname' => $fullname,
   'username' => $username,
   'phone' => $phone
));
 
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message_admin);
$modx->mail->set(modMail::MAIL_FROM,'noreply@site.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сайт');
$modx->mail->set(modMail::MAIL_SUBJECT,'регистрация участника');
$modx->mail->address('to', 'admin@site.ru');//$modx->getOption('emailsender'));
$modx->mail->setHTML(true);
$modx->mail->send();

//отправляем пользователю
$message = $modx->getChunk('myEmailTemplate_reg',array(
   'email' => $email,
   'fullname' => $fullname,
   'username' => $username,
   'password' => $password,
   'phone' => $phone
));
 
//$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'noreply@site.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сайт');
$modx->mail->set(modMail::MAIL_SUBJECT,'регистрация');
$modx->mail->address('to', $email);
$modx->mail->setHTML(true);
$modx->mail->send();
проблема в том что на почту (администартора) admin@site.ru приходит два письма adminEmailTemplate_reg и myEmailTemplate_reg
Как сделать так чтобы второе не уходило админу
vit
vit
29 мая 2024, 18:52
modx.pro
1
977
0

Вывести теги товара на странице товара zoomx (smarty)

Здравствуйте!

upd 29.05.2024:

Это простое решение как вывести теги товара на странице товара используя сниппет msOptions.
Просто выводит список тегов теги, которые можно оформить как нужно.

Вызов в шаблоне товара через сниппет (zoomx, smarty):

{'msOptions'|snippet:[
	  'options' => 'tags',
	  'tplRow' => '',
	  'tplOuter' => '',
	  'tplEmpty' => '',
	  'tpl' => '@FILE chunks/tpl.msProductOptionsTags.tpl'
  ]}

Код чанка:

{foreach $options as $tagsname => $tags}
    {foreach $tags as $tag}
        {$tag} 
    {/foreach}
{/foreach}

Загрузить в /core/elements/chunks (создать папки «elements» и «chunks» если нет. Если изменяли путь до ядра — заменить на свой).

{ $tag } Можно оформить как нужно:

<a href="/search?tag={$tag}" class="some-class">{$tag}</a>

т.е:

{foreach $options as $tagsname => $tags}
    <p>
    {foreach $tags as $tag}
        <a href="/search?tag={$tag}" class="some-class">{$tag}</a>
    {/foreach}
    </p>
{/foreach}
Егор
28 мая 2024, 11:44
modx.pro
492
0

where по одному полю для двух ресурсов

Здравствуйте!

Хочу сделать связь ресурсов по одному полю.
Имею поле connection, в котором множественный выбор.
Это поле добавляется абсолютно ко всем ресурсам. И пытаюсь организовать связь ресурсов.

'where' => '{"connection":[[*connection]]}'
Т.е., если у ресурсов сделан одинаковый выбор, то есть возможность вывести ссылку друг на друга.
Но данная схема не работает:
'where' => '{"connection":[[*connection]]}'
Может так вообще делать нельзя.

Вот весь мой код вывода связи ресурсов:
{var $output = 'ms2GalleryResources' | snippet: [
    'tpl' => 'proekt-item-portfolio'
    'parents' => '394'
    'where' => '{"connection":"[[*connection]]","connection.value:!=":1 }'
    'limit' => '6'
    'includeThumbs' => 'medium'
    'includeTVList' => 'days, connection, video'
    'depth' => '0'
    'showLog' => '1'
]}
{if $output}
<h3 class="text-center">[[*connection]] в наличии</h3>
<div class="row flex-content-center">
{$output}
</div>
{/if}
Илья
27 мая 2024, 17:42
modx.pro
332
0

Ошибка: Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 10917680 bytes)

Добрый день. Столкнулся с ошибкой Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 10917680 bytes) на некоторых страницах сайта, а именно на главной странице и в части страниц раздела «О центре».
Баир
27 мая 2024, 13:20
modx.pro
329
0

Требуется сделать перелинковку на сайте

7
Здравствуйте!

Требуется сделать перелинковку на сайте.
Простая перелинковка с выводом проекта из портфолио в проект товара и по этой же схеме — проект в разделе в наличии в проект товара и в раздел с товарами.

Все подробности можно обсудить в телеграмм.
Всё расскажу и объясню.
https://t.me/@ilya_gradov
Или в через личные сообщения.

По цене договоримся.
Илья
27 мая 2024, 13:18
modx.pro
176
0

Как вызвать getService $this->modx в наследуемом классе?

MODX Revolution 2.8.3-pl

Как вызвать getService $this->modx в наследуемом классе, чтобы воспользоваться функциями из другого компонента?

Например в обработчике корзины:
<?php
class msCartCustomHandler extends msCartHandler {
}
Кровельный
24 мая 2024, 18:02
modx.pro
1
279
0