Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68
Андрей
17 мая 2018, 13:35
+1
Возможно так сработает:
{'ms2g.0.url' | placeholder}
Андрей
14 мая 2018, 12:22
0
В верхнем меню Медиа -> Источники файлов.
Андрей
14 мая 2018, 00:06
0
<?php
switch ($modx->event->name) {
	case 'OnUserFormSave':
		header( 'Location: http://sitename.ru/pagename.html', true, 301 );
		break;
}

Ну примерно как то так, не проверял, но в тории должно сработать.
Андрей
13 мая 2018, 17:00
0
По идее можно написать плагин на событие OnUserFormSave.

Андрей
07 мая 2018, 22:57
0
Версия движка последняя? Плюс ещё надо посмотреть версию php, были проблемы с phpmailer на старых версиях, оптимально php версии >= 7. Если не поможет, как вариант написать в техподдержку хостинга, возможно какие то исходящие подключения заблокированы.
Андрей
07 мая 2018, 22:38
0
После указания полей в разделе «Почта» системных настроек
Вы через smtp почту отправляете? Вызовите QuickEmail с параметром debug:

[[!QuickEmail? &debug=`1`]]

По идее оно покажет в чём причина. Также можно посмотреть error.log, возможно там тоже что то есть. Если не через smtp, то достаточно системной настройки — emailsender, в которой адрес типа — no-reply@sitename.com, плюс на некоторых хостингах нужно чтобы почта отправителя физически существовала на хостинге.
Андрей
07 мая 2018, 22:35
0
В системных настройках ExportPage есть параметр — Отключить у шаблонов.
Андрей
05 мая 2018, 20:17
+1
Если всё правильно понял, то можно попробовать так:

{if $_modx->context.key == 'web'}
	{var $cat = 11}
{elseif $_modx->context.key == 'eng'}
	{var $cat = 12}
{/if}

{'pdoResources' | snippet : [
    'parents' => $cat,
    'limit' => 4,
    'tpl' => '@INLINE 
        <div class="slick-slide" style="background-image: url({$imgSlide | phpthumbon : "w=1920&h=517&zc=1"})">
            <div class="presentation-content container">
                <h2 class="title-section">{$pagetitle}</h2>
                <div class="presentation-text">
                    {$introtext | striptags | ellipsis : "170"}
                </div>
                <a href="{$uri}" class="btn btn-light">Подробнее</a>
            </div>
        </div>
        ',
    'includeContent' => 1,
    'includeTVs' => 'imgSlide',
    'tvPrefix' => ''
]}

Также для каждого контекста можно создать свою системную настройку, в которой указать нужный id родителя, и выводить примерно так:

{'pdoResources' | snippet : [
    'parents' => $_modx->config.cat,
    'limit' => 4,
    'tpl' => '@INLINE 
        <div class="slick-slide" style="background-image: url({$imgSlide | phpthumbon : "w=1920&h=517&zc=1"})">
            <div class="presentation-content container">
                <h2 class="title-section">{$pagetitle}</h2>
                <div class="presentation-text">
                    {$introtext | striptags | ellipsis : "170"}
                </div>
                <a href="{$uri}" class="btn btn-light">Подробнее</a>
            </div>
        </div>
        ',
    'includeContent' => 1,
    'includeTVs' => 'imgSlide',
    'tvPrefix' => ''
]}
Андрей
05 мая 2018, 12:58
0
Тогда логи смотрите — core/cache/logs/error.log и серверный error.log. Плюс ещё проверить доступы юзера к базе.

Также можно попробовать залить папку Setup от вашей версии движка, и запустить, выбрать — Обновление, в процессе есть вероятность что покажет в чём проблема.
Андрей
05 мая 2018, 01:04
0
Ну в целом конечно не сильно понятная ситуация, т.к. на локальном сервере фиг знает что может происходить. По идее вот эти правила должны работать норм(без www и с ним):

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)$
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

p.s. Соответственно сайт на локалке должен быть назван другим доменом, отличным от рабочего сайта. Ну и плюс раз пишет — Site temporarily unavailable, нужно посмотреть логи, возможно будет понятно.
Андрей
04 мая 2018, 19:42
0
Вероятно, личной почты там быть не должно) Т.к. письмо то отправляется с сервера, а не с этого почтового адреса, вот несоответствие и получается.
Андрей
04 мая 2018, 19:36
+1
В системной настройке emailsender какая почта указана? Должно быть что то типа — no-reply@sitename.com.
Андрей
04 мая 2018, 19:07
+1
Там на самом деле нет никакого редиректа, на странице вызываются три сниппета — msCart, msOrder и msGetOrder. Когда заказа отправлен, появляется get параметр в url, по нему срабатывает msGetOrder, а остальные сниппеты скрываются.

Т.е. достаточно отредактировать tpl.msGetOrder, чтобы выводило то что нужно, ну или свой чанк сделать и указать в tpl.

Ну или если шибко надо редирект то вот — https://modx.pro/solutions/12391/ и вот — https://modx.pro/help/7462/
Андрей
04 мая 2018, 18:54
+1
Проблема такая — после подтверждения заказа, покупателя бросает на страницу, где висит корзина с товарами, которые покупались (хотя корзина уже очищена) и больше ничего.

Как бы всё логично. Cниппет msGetOrder и выводит состав оформленной корзины. Это написано в документации:

[[!msGetOrder]] — Вывод информации о заказе, показывается после его создания

И ещё письма о заказе приходят через раз. То только для заказчика, то только для продавца. Wtf?!

Это уже проблемы хостинга скорее всего. Можно попробовать настроить отправку писем через smtp.
Андрей
03 мая 2018, 23:08
+1
MIGX не очень умеет работать с Fenom, потому можно использовать вызовы из — https://modx.pro/help/8962/.
Андрей
03 мая 2018, 16:52
0
Такого быть не должно, проверьте работоспособность на чанках по умолчанию, если всё заработает, сравнивайте код и ищите ошибку.
Андрей
03 мая 2018, 14:57
0
В настройках минишопа нужно указать какие поля для каждого способа обязательны.
Андрей
03 мая 2018, 14:55
+1
Была как то проблема такая, что после обновления minishop2 слетали эти чанки в настройках.

Нужно зайти в настройки Minishop2, вкладка Статусы заказа. Нажимаем правой кнопкой — Изменить, там будет два поля Чанк письма покупателю и Чанк письма менеджеру, например в статусе Новый нужно выбрать tpl.msEmail.new.user и tpl.msEmail.new.manager, в остальных статусах (оплачен и т.д.) проверить и поставить по аналогии.

Андрей
03 мая 2018, 12:59
0
Подсмотрел здесь — https://modx.pro/help/1431/#comment-18975

{var $cat = 'catId' | snippet : ['id' => $id]}
			
{if $cat == 1782}
	популярные
{elseif $cat == 1733}
	распродажа		
{/if}

Сниппет catId:
<?php
$id = $id;
$tpl = '@INLINE [[+id]]';
$pdo = $modx->getService('pdoFetch');

$options = array(
	'innerJoin' => array(
		'msCategory' => array('on' => 'msCategoryMember.category_id = msCategory.id')
	),
	'select' => array('msCategory' => 'all'),
	'sortby' => 'msCategory.id'
);
$conditions = array('product_id' => $id);
$rows = $pdo->getCollection('msCategoryMember', $conditions, $options);

$output = '';
foreach ($rows as $row) {
	$output .= $pdo->getChunk($tpl, $row);
}

return $output;

Чтобы первый код сработал, нужно чтобы была включена системная настройка — Использовать Fenom на страницах, если нужно выводить маркер не только в каталоге но и на странице товара, то надо поменять вот так:
{var $cat = 'catId' | snippet : ['id' => $_modx->resource.id]}

p.s. Возможно не самое лучшее решение, но работает) Но я бы всё таки использовал чекбоксы, т.к. вывод маркеров проще, и с остальным функционалом тоже проблем нет.
Андрей
03 мая 2018, 12:02
0
К примеру один товар находится в двух категориях, игрушки для малышей и популярные.
А вот это как реализовано, через мультикатегории минишопа?