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

При регистрации пользователя через 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
978
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
493
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
333
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
332
0

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

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

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

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

По цене договоримся.
Илья
27 мая 2024, 13:18
modx.pro
178
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

MyFavorites

MyFavorites – компонент, который позволяет добавить на сайт списки избранного. Основной упор сделан на работу с анонимными пользователями, аналитикой и защитой от ботов.

Основные возможности компонента
  • Создание различных списков избранного.
  • Работа как с анонимными пользователями, так и только с зарегистрированными.
  • Пользовательские списки избранного (пользователь может сам создавать/переименовывать и удалять свои списки).
  • Очистка сессий сайта и удаление кук пользователем не влияют на список избранного у анонимных пользователей.
  • Идентификация анонимного пользователя и, как следствие, его списка избранного, посетившего сайт с разных браузеров (метод не срабатывает во всех 100% случаев. На сайте должна быть подключена Google Analytics или Яндекс.Метрика).
  • Привязка списка избранного анонимного пользователя к зарегистрированному пользователю при его авторизации или создании заказа на сайте.
  • Синхронизация избранного на разных устройствах/браузерах, если ранее не было определено, что они принадлежат одному и тому же пользователю.
  • Передача данных о событиях добавления/удаления и очистки списка избранного в Google Analytics и Яндекс.Метрика.
  • Черные списки IP.
  • Защита от CSRF-атаки.
  • Защита с помощью reCAPTCHA 3.
  • Лимит на запросы для анонимных и зарегистрированных пользователей.
  • Уведомление на Email о подозрительной активности пользователя.
  • Доступ в админке сайта к информации о пользователях, их списках избранного и активности.
  • Экспорт информации о пользователях и избранном в CSV, XLSX и ODS.
  • Корректная работа с Cloudflare.
  • Быстрая кастомизация стилей через CSS переменные.
  • Возможность подписываться на JS события компонента для кастомизации его работы.
  • Нативный JavaScript.
Prihod
24 мая 2024, 16:31
modx.pro
2
1 267
+11

Zoomx получить данные родителя на странице товара

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

Кто нибудь в этой игре «Zoomx» проходил квест: «Получить данные родителя на странице товара»? в шаблоне product.tpl?

Да, можно попробовать вывести через «pdoCrumbs», или другие… А что-нибудь попроще, как например на fenom?

Вроде:

{7 | resource: 'tv_name'}

или

{set $parent_id = $_modx->resource.parent} //Получаем id родителя
{set $grand_parent_id  = $parent_id | resource : 'parent' } //Получаем id дедушки
{$grand_parent_id  | resource : 'pagetitle'} //выводим заголовок
Егор
24 мая 2024, 16:26
modx.pro
310
0

Modhost и облачное хранилище S3 (timeweb cloud)

Всем доброго времени суток.

Как многие, наверное, видели — в админке для источника файлов можно указать «Тип источника файлов» -> Amazon S3 (Использует хранилище Amazon S3.). Не знаю, работает ли сервера амазона в РФ, и как их оплачивать заметка не об этом.

Смысл в том, что используя технологию «Amazon S3» (облачное объектное хранилище) можно хранить, например, в том числе, медиа файлы (картинки, изображения) не на modhost, а на стороннем сервисе (ничоси). Для сайтов, которые используют большое количество изображений в высоком разрешении это отличное решение. НО!
Егор
24 мая 2024, 04:35
modx.pro
2
440
+2

Проблема с контекстами Babel

Здравствуйте! у меня есть 5 контекстов: en|ua|ru|fr|de. Проблема заключается в том, что если я в web версии в адресной строке прописываю такую ссылку www.site.com/franchiza, то меня перебрасывает на 404 страницу франц. версии. Код htaccess и роутинга:
htaccess
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(en|ua|ru|fr|de)/favicon.ico$ favicon.ico [L,QSA]


RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(en|ua|ru|fr|de)/assets(.*)$ assets$2 [L,QSA]


RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(en|ua|ru|fr|de)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
и Роутинг
<?php
if($modx->context->get('key') != "mgr"){
                switch ($_REQUEST['cultureKey']) {
                        case 'ua':
                        /* switch the context */
                        $modx->switchContext('ua');
                        break;
                        case 'fr':
                        /* switch the context */
                        $modx->switchContext('fr');
                        break;
                    default:
                        /* Set the default context here */
                        $modx->switchContext('web');
                        break;
                }
                unset($_GET['cultureKey']);
            }
Vladyslav
23 мая 2024, 20:44
modx.pro
1 495
0