Олег Захаров

Олег Захаров

С нами с 14 октября 2017; Место в рейтинге пользователей: #64
27 июля 2018, 08:57
1
0
Это важный вопрос -мне например нужно исправить сотни ссылок в рекламных кампаниях. Хорошо было бы чтобы редирект был с сохранением utm меток. Именно по маске это бы сработало. А сейчас никак. Автор, сделайте что-нибудь. Задача-то не сложная.
Вот тут modx.pro/help/11394 есть ссылка на готовое решение -можно оттуда код использовать?
23 мая 2018, 00:32
0
Только что обновил движок на одном из сайтов с помощью Advanced пакета. Никаких папок connectors и manager в установочном пакете не было — вы откуда брали пакет? Берите с modx точка com. В самом сайте папка core у меня перенесена на верхний уровень корня сайта, connectors и manager переименованы. Все было как обычно. Скорее всего Вы на каком-то этапе сделали ошибку.
13 мая 2018, 17:05
0
Автора прошу сделать нормальную документацию, до много приходится додумывать как пользоваться (без претензии, это просьба).
Что за изменения в последних версиях?
07 мая 2018, 06:07
0
проставил в настройках контекста web site_url с косой чертой в конце и все стало работать. Но причину понятно не нашел, суффикс стоит /,
.htaccess — содержимое по умолчанию, ничего не трогал

RewriteEngine On
RewriteBase /
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
06 мая 2018, 20:39
0
Еще заметил что при открытии из админки при клике правой кнопки мыши по ресурсу по ссылке Просмотреть также происходит склеивание ссылки — удаление косой черты
02 мая 2018, 13:25
0
тоже искал как решить подобную задачу — на странице категории вывожу подкатегорию и первые 10 товаров подкатегории с выводом картинки товара и названия в виде ссылки. Сделал примерно так (в fenom):
{*получаем список товаров подкатегории*}
{*$cat2level - подставляем id родительской категории*}
{var $products_cats2level = ('pdoResources' | snippet : ['parents' => $cat2level, 'depth' => '0', 'limit' => 10, 'returnIds' => 1, 'sortdir'=>'asc', 'where' => '{"class_key":"msProduct"}'] | split : ',')}
{if $products_cats2level['0'] ?}    {*проверяю есть ли вообще хоть один элемент в массиве*}
	<div class="row" >
		{foreach $products_cats2level as $product_cats2level} 
			<a href="{$_modx->makeUrl($product_cats2level,'','','full')}"> {*вывожу ссылку *}
				<div id="img_{$product_cats2level}" class="col-xs-2 " style="margin-top: 15px;">
					{'msGallery' | snippet : ['product'=>$product_cats2level, 'includeThumbs'=>'mini','tpl'=>'@INLINE <img src="{$files["0"]["mini"]}">']} {*mini - это параметр формата медиаресурса,  у меня mini: "mini":{"h":50,"q":90,"far":"1","bg":"ffffff"}*}
				</div>
				<div id="caption_{$product_cats2level}" class="col-xs-10" style="margin-top: 25px;" >
					{'pdoField' | snippet : ['id' => $product_cats2level]} {*название подкатегории*}
				</div>
				<div class="clear"></div>
			</a>
		{/foreach}
	</div>
{/if}
27 апреля 2018, 01:15
0
Подскажите, а как в форме файлы передавать в лиды? Как прописать JSON соответствие если грузим 1 файл, несколько файлов?
03 апреля 2018, 22:09
0
Спасибо! Я вроде так же пробовал вначале, но видимо чтото не так написал, сайт не грузил страницу, я грешил на fenom. А ваш код заработал без проблем.
03 апреля 2018, 18:47
0
Подскажите более элегантный способ кода.
03 апреля 2018, 18:46
0
Делюсь наработкой до которой сам дошел путем долгих мучений и борьбы с fenom. Вроде работает, может кому пригодится:

Сниппет вставки кода в (вызываем соответственно сниппет в блоке head, в коде добавлены пробелы до и после { и } чтобы fenom не ругался):
<?php
$idgtm = $modx->getOption("GoogLeTagManagerID");
$hostname=$modx->getOption("http_host");
print '<!-- Google Tag Manager for '.$hostname.' -->
<script>
(function(w,d,s,l,i) { 
	w[l]=w[l]||[];
	w[l].push( { 
		"gtm.start": new Date().getTime(),event:"gtm.js" 
	 } );
	var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";
	j.async=true;j.src="https://www.googletagmanager.com/gtm.js?id="+i+dl;
	f.parentNode.insertBefore(j,f);
  } ) (window,document,"script","dataLayer","'.$idgtm.'");</script> <!-- End Google Tag Manager -->';
А для кода который вставляется в начало тега body сделал такой чанк (с конструкциями fenom — fenom должен быть включен -если не хотите включать переделайте в сниппет как в примере кода сниппета выше)
<!-- Google Tag Manager (noscript) for {$modx->getOption("http_host")} -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={$modx->getOption("GoogLeTagManagerID")}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
В контекст добавил ключ GoogLeTagManagerID со значением ID GoogleTagManager (который выглядит как GTM-ABCDEFG)
03 апреля 2018, 18:41
0
Исправил — хотел чтобы в комментарий было видно для какого контекста выводится код GoogleTagManager чтобы можно было проверить не ошибся ли с номером ID GoogleTagManager (предыдущий коммент можно удалить):
Делюсь наработкой может кому пригодится:

Сниппет вставки кода в (вызываем соответственно сниппет в , в коде добавлены пробелы до и после { и } чтобы fenom не ругался):
<?php
$idgtm = $modx->getOption("GoogLeTagManagerID");
$hostname=$modx->getOption("http_host");
print '<!-- Google Tag Manager for '.$hostname.' -->
<script>
(function(w,d,s,l,i) { 
	w[l]=w[l]||[];
	w[l].push( { 
		"gtm.start": new Date().getTime(),event:"gtm.js" 
	 } );
	var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";
	j.async=true;j.src="https://www.googletagmanager.com/gtm.js?id="+i+dl;
	f.parentNode.insertBefore(j,f);
  } ) (window,document,"script","dataLayer","'.$idgtm.'");</script> <!-- End Google Tag Manager -->';
А для кода который вставляется после тега body сделал такой чанк (с конструкциями fenom — fenom должен быть включен -если не хотите включать переделайте в сниппет как в примере кода сниппета выше)
<!-- Google Tag Manager (noscript) for {$modx->getOption("http_host")} -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={$modx->getOption("GoogLeTagManagerID")}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
В контекст добавил ключ GoogLeTagManagerID со значением ID GoogleTagManager (который выглядит как GTM-ABCDEFG)
03 апреля 2018, 18:23
1
0
Пока думал убил полдня! Но сделал, делюсь наработкой моет кому пригодится:

Сниппет вставки кода в (вызываем соответственно сниппет в , в коде добавлены пробелы до и после { и } чтобы fenom не ругался):
<?php
$idgtm = $modx->getOption("GoogLeTagManagerID");
print '<!-- Google Tag Manager for '.$idgtm.'-->
<script>
(function(w,d,s,l,i) { 
	w[l]=w[l]||[];
	w[l].push( { 
		"gtm.start": new Date().getTime(),event:"gtm.js" 
	 } );
	var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";
	j.async=true;j.src="https://www.googletagmanager.com/gtm.js?id="+i+dl;
	f.parentNode.insertBefore(j,f);
  } ) (window,document,"script","dataLayer","'.$idgtm.'");</script> <!-- End Google Tag Manager -->';
А для кода который вставляется после тега body сделал такой чанк (с конструкциями fenom — fenom должен быть включен -если не хотите включать переделайте в сниппет как в примере кода сниппета выше)
<!-- Google Tag Manager (noscript) for {$modx->getContext($context_key)}-->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={$modx->getOption("GoogLeTagManagerID")}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
В контекст добавил ключ GoogLeTagManagerID со значением ID GoogleTagManager (который выглядит как GTM-ABCDEFG)
03 апреля 2018, 18:23
0
А как можно вставить код счетчика через настройки контекста? Чтобы для каждого контекста прописывать номер счетчика? А код был универсальный. Например я хочу сохранить номер ID GoogleTagManager в настройках контекста, а код сниппета и чанка вставки кода GoogleTagManager сделать универсальный один?
02 апреля 2018, 23:53
1
0
Хороший мануал по этому поводу тут — я сам по нему делаю.
02 апреля 2018, 16:22
0
Подскажите как грамотно увязать привязку с AjaxForm? Примером, а то не совсем понятно.
В описании написано:
Для отправки лидов в Битрикс24 сделан hook modBitrixLead для FormIt.
Нужно добавить в FormIt параметр btxFieldnames, в котором указать в формате JSON соответствие полей. По-умолчанию:
{«name»:«NAME»,«message»:«COMMENTS»,«email»:«EMAIL»,«phone»:«PHONE»}
Как при вызове через AjaxForm прописать параметр? Если как параметр пропишу боюсь из AjaxForm он сам не передастся — надо будет сниппет править?
02 апреля 2018, 12:52
0
И еще — в статусах заказа в Minishop2 стоят подставленные фразы Won, Lose, New — их меняем на цифровое значение ID в Битрикс24?
02 апреля 2018, 12:42
0
Прошу подсказать а где запускать код для определения статуса сделки? В консоли браузера?
07 марта 2018, 00:14
0
А что за изменения в новой версии?
2.0.12-beta (23.02.2018)
— Add «checkStat» [PayAndSee]
— Change «Order.submit» [js]