Олег Захаров

Олег Захаров

С нами с 14 октября 2017; Место в рейтинге пользователей: #134
Абдулсалам
19 марта 2019, 15:10
2
0
Все, уже не надо, решил :)

Вот код, может кому пригодится:

<form method="post" class="ms2_form" role="form">
    <input type="hidden" name="key" value="{$product.key}">
    <div class="cartProductCount">
      <div class="cartProductCount__btn cartProductCount__btn--minus">-</div>
      <input type="text" name="count" value="{$product.count}" class="form-control cartProductCount__input">
      <div class="cartProductCount__btn cartProductCount__btn--plus">+</div>
    </div>
    <button type="submit" name="ms2_action" value="cart/change">↻</button>
  </form>
<script>
    (function ($) {
      $(document).ready(function() {
        $('.cartProductCount__btn--minus').click(function () {
          var input = $(this).parent().find('.cartProductCount__input');
          var count = parseInt(input.val()) - 1;
          count = count < 1 ? 1 : count;
          input.val(count);
          input.change();
          return false;
        });
        $('.cartProductCount__btn--plus').click(function () {
          var input = $(this).parent().find('.cartProductCount__input');
          input.val(parseInt(input.val()) + 1);
          input.change();
          return false;
        });
      });
    }(jQuery));
  </script>
Максим
18 марта 2019, 13:36
1
+1
Fenon:
{if 'linkColor' | config ?}
    {var $color = 'linkColor' | config}
{else}
    {var $color = '#000000'}
{/if}
<style>
    a {
        color: $color;
    }
</style>
Или
<a style="color:{$color}" href="#">Link</a>
Default:
<style>
    a {
        color: [[++linkColor:default=`#000000`]];
    }
</style>
    Или
    <a style="[[++linkColor:default=`#000000`]]" href="#">Link</a>
Дмитрий Середюк
16 марта 2019, 23:22
4
+1
<form method="post" class="ms2_form form-inline" role="form">
    <input type="hidden" name="key" value="{$product.key}"/>
    <div class="number-item">
        <button class="minus">-</button>
            <input type="num" class="amout" data-amout="amout" data-min="1" data-max="9999" name="count" value="{$product.count}">
        <button class="plus">+</button>
    </div>
    <button class="btn btn-default" type="submit" name="ms2_action" value="cart/change"></button>
</form>

function itemCount(field){
    var fieldCount = function(el) {
        var
	    // Мин. значение
	    min = el.data('min') || false,
	    // Макс. значение
	    max = el.data('max') || false,
	    // Кнопка уменьшения кол-ва
	    dec = el.prev('.minus'),
	    // Кнопка увеличения кол-ва
	    inc = el.next('.plus');
	function init(el) {
	    if(!el.attr('disabled')){
		dec.on('click', decrement);
		inc.on('click', increment);
	    }
	    // Уменьшим значение
	    function decrement() {
		var value = parseInt(el[0].value);
		value--;
		if(!min || value >= min) {
		    el[0].value = value;
	         }
	    }
	   // Увеличим значение
	   function increment() {
		var value = parseInt(el[0].value);
		value++;
		if(!max || value <= max) {
		    el[0].value = value++;
		}
	    }
	}
	el.each(function() {
	    init($(this));
	});
    };
    $(field).each(function(){
        fieldCount($(this));
    });
 } itemCount('[data-amout="amout"]');
Дмитрий
28 сентября 2018, 19:57
1
+1
Короче.
1. Вот админка


2. Вот как это выглядит на фронте



Я правильно понимаю, что нужно так же?
Вот что нужно сделать:
В чанке msProductContent сделать что-то типа этого (если вообще минишоп используется)



Сниппет @FILE:snippets/currConverter.php можно заменить на CrCalc — это тоже самое, только я кое-что для себя правил.

Ну вот и всё — цены становятся в нужной валюте. Изи же.
А вот если надо передать цену в рублях дальше в корзину, то об этом я могу рассказать в следующей серии нашего треда комментариев
Олег Захаров
25 августа 2018, 10:59
1
0
Не хватает хорошей техдокументации что и как настраивать. Уважаемый Артем, можно ли сделать демосайт?
С описанием примеров:
  1. создаем, лид/сделку/контакт/компанию,
  2. интегрируем с FormIt/AjaxForm, с описанием оформления параметров; С добавлением файлов! — у меня из-за этого не работает форма и теряются лиды (а очень очень надо);
  3. получаем лид/сделку/контакт/компанию, меняем значение этих сущностей и сохраняем изменения в CRM;
  4. работа с разными аккаунтами CRM (в одной компании два разных отдела работают в разных аккаунтах), при едином движке двух сайтов (работа через контексты);
  5. создание записи в карточке Лида/Сделки/Контакта/Компании.
  6. Например, хотелось бы при возвращении клиента на сайт сделать запись в карточку клиента/сделки?
  7. И как задачи создавать? с привязкой к сущностям CRM (лид/сделка/контакт/компания)?
Артем, уверен что если добавите больше описания, популярность и продажи вашего компонента вырастут раз 10.
Я например настроил интеграцию, указал в настройках компонента ID пользователя (1), но почему-то упорно лид создается на другого пользователя (4). Лид создается с названием WEB 2018-08-25 10:17:12 — как настроить свое название? Понятно что можно обратиться в техподдержку, но хотелось бы самому научиться и разбираться во всем, не отвлекая каждый раз Автора компонента (к тому же нет желания ждать ответа, а хочется сразу самому все сделать пока код в голове «держишь»).
Илья
07 августа 2018, 14:35
4
+5
В общем пишу инструкцию для «чайников» (таких как я, и как делал я):
1. Скачиваем PuTTY для SSH (putty.exe)
2. Запускаем putty.exe и подключаемся введя данные SSH из панели управления сайтом.

Пароль пишите руками или вставляйте нажатием правой кнопки мыши. Пароль не будет виден, нажимайте enter и подключение пойдет дальше.
3. После того как Вы подключились вводим команду скачать и распаковать архив ай-болита (она указана выше):
wget https://revisium.com/ai/index.php?q=715147663154063253513112476309509 -O ~/aibolit.zip
unzip ~/aibolit.zip -d ~/aibolit
php ~/aibolit/ai-bolit/ai-bolit.php -p ~/ --mode=1 -o ~/report.json --no-html --delay=5 --all
Не забудьте обновить ссылку на айболит, которую можно взять здесь: revisium.com/ai/
Нажимаем enter и получаем вот это:

4. Ещё раз нажимаем enter, ждем 2-3 секунды и пошла проверка, которая может продлится несколько минут.
5. После окончания проверки, когда вы увидите результат в 100%, вводим команду
cat ~/report.json
и нажимаем enter.
6. На экране появится отчёт, который копируем от одной до другой узоной скобки (включительно).

7. После чего вставляем его сюда bezumkin.ru/utils/json
Получаем расшифровку отчёта, в котором перечислены файлы.

8. Ищем подозрительные файлы, с незнакомым названием. Если файл вам незнаком, проверяем его наличие в чистом modx revo, сравнивая его с github.com/modxcms/revolution

Я проверил все свои сайты. На одном нашёл несколько файлов, которые удалил.
Надеюсь, кому-то будет полезно.
Олег Захаров
27 июля 2018, 08:57
1
0
Это важный вопрос -мне например нужно исправить сотни ссылок в рекламных кампаниях. Хорошо было бы чтобы редирект был с сохранением utm меток. Именно по маске это бы сработало. А сейчас никак. Автор, сделайте что-нибудь. Задача-то не сложная.
Вот тут modx.pro/help/11394 есть ссылка на готовое решение -можно оттуда код использовать?
Андрей
06 апреля 2018, 22:44
1
+2
Minishop2 и письма менеджеру. А все доступные плейсхолдеры можно посмотреть указав пустой tpl:

[[!msGetOrder? tpl=``]]
Олег Захаров
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)
Олег Захаров
02 апреля 2018, 23:53
1
0
Хороший мануал по этому поводу тут — я сам по нему делаю.