АндрейЧ

АндрейЧ

С нами с 10 марта 2017; Место в рейтинге пользователей: #443
АндрейЧ
20 февраля 2020, 13:05
0
Автор, подскажи пожалуйста, как можно автоматически привязать эти комментарии к 1000 товаров. Делается ли такое?
АндрейЧ
01 февраля 2020, 17:14
0
Посмотри в базе таблицу заказов и другие связанные с ней.
ты очистил ее или другую таблицу, и забыл очистить связанные с ней таблицы — ордерс адресс и др
+ при чистке ордерс надо очистить и таблицу сбера.
АндрейЧ
28 декабря 2019, 21:30
0
Смех т.к. я долго пробывал сам придумать решение, думал все просто ))
Да верстка была именно такая, чтобы все работало если решу проблемы с миникорзиной.
Пока пришлось сломать верстку, чтобы за счет css решить этот вопрос.

Спасибо большое, мне бы научиться, немного подумать, поэтому подсказки помогают.

Вопрос. Не получится же вашим скриптом решить проблему или пробывать?
У меня в скрипте многое не стандартно assets/components/minishop2/js/web/default.js

Ошибся я в формулировке, 2 миникорзины работают, но в одной из них ломается динамическое добавление-удаление товаров без перезагрузки страницы, и синхронизация миникорзины с основной корзиной на странице cart.html/
Это наверное связано с msMiniCartDynamic


miniShop2.Cart = {
        callbacks: {
            add: miniShop2Config.callbacksObjectTemplate(),
            remove: miniShop2Config.callbacksObjectTemplate(),
            change: miniShop2Config.callbacksObjectTemplate(),
            clean: miniShop2Config.callbacksObjectTemplate()
        },
        setup: function () {
            miniShop2.Cart.cart = '#msCart';
            miniShop2.Cart.miniCart = '#msMiniCart';
            miniShop2.Cart.miniCartNotEmptyClass = 'full';
            miniShop2.Cart.countInput = 'input[name=count]';
            miniShop2.Cart.totalWeight = '.ms2_total_weight';
            miniShop2.Cart.totalCount = '.ms2_total_count';
            miniShop2.Cart.totalCost = '.ms2_total_cost';
        },
        initialize: function () {
            miniShop2.Cart.setup();
            if (!$(miniShop2.Cart.cart).length) {
                return;
            }
            miniShop2.$doc.on('change', miniShop2.Cart.cart + ' ' + miniShop2.Cart.countInput, function () {
                $(this).closest(miniShop2.form).submit();
            });
        },
        add: function () {
            var callbacks = miniShop2.Cart.callbacks;
            callbacks.add.response.success = function (response) {
                this.Cart.status(response.data);
            };
            miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.add, miniShop2.Callbacks.Cart.add);
        },
        remove: function () {
            var callbacks = miniShop2.Cart.callbacks;
            callbacks.remove.response.success = function (response) {
                this.Cart.remove_position(miniShop2.Utils.getValueFromSerializedArray('key'));
                this.Cart.status(response.data);
            };
            miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.remove, miniShop2.Callbacks.Cart.remove);
        },
        change: function () {
            var callbacks = miniShop2.Cart.callbacks;
            callbacks.change.response.success = function (response) {
                if (typeof(response.data.key) == 'undefined') {
                    this.Cart.remove_position(miniShop2.Utils.getValueFromSerializedArray('key'));
                }
                else {
                    $('#' + miniShop2.Utils.getValueFromSerializedArray('key')).find('');
                }
                this.Cart.status(response.data);
            };
            miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.change, miniShop2.Callbacks.Cart.change);
        },
        status: function (status) {
            if (status['total_count'] < 1) {
                location.reload();
            }
            else {
                //var $cart = $(miniShop2.Cart.cart);
                var $miniCart = $(miniShop2.Cart.miniCart);
                if (status['total_count'] > 0 && !$miniCart.hasClass(miniShop2.Cart.miniCartNotEmptyClass)) {
                    $miniCart.addClass(miniShop2.Cart.miniCartNotEmptyClass);
                }
                $(miniShop2.Cart.totalWeight).text(miniShop2.Utils.formatWeight(status['total_weight']));
                $(miniShop2.Cart.totalCount).text(status['total_count']);
                $(miniShop2.Cart.totalCost).text(miniShop2.Utils.formatPrice(status['total_cost']));
                if ($(miniShop2.Order.orderCost, miniShop2.Order.order).length) {
                    miniShop2.Order.getcost();
                }
            }
        },
        clean: function () {
            var callbacks = miniShop2.Cart.callbacks;
            callbacks.clean.response.success = function (response) {
                this.Cart.status(response.data);
            };

            miniShop2.send(miniShop2.sendData.formData, miniShop2.Cart.callbacks.clean, miniShop2.Callbacks.Cart.clean);
        },
        remove_position: function (key) {
            $('#' + key).remove();
        }
    };
АндрейЧ
22 декабря 2019, 23:52
0
Вернее вопрос такой, использую этот скрипт — он нормально читает screen_width
<script>

    var h_hght = 370; // высота шапки
    var h_mrg = 0;     // отступ когда шапка уже не видна
    var screen_width;     // ширина экрана эзера
    
    screen_width = screen.width;
    alert(screen_width);
    
    if (screen_width < 768) var h_hght = 370;
    if (screen_width < 768)   
    
   $(function(){
    $(window).scroll(function(){
       var top = $(this).scrollTop();
       var elem = $('#top-megamenu-nav');
       if (top+h_mrg < h_hght) {
        elem.css('top', (h_hght-top));
       } else {
        elem.css('top', h_mrg);
       }
     });
   });
</script>
… А из чанка никак не могу использовать ширину… не работает конструкция:
[[*screen_width:gt=`768`:then=`меньше 768`:else=`больше 768`]]
И другие глобальные переменные из файла скрипта также не могу в чанке вывести
АндрейЧ
22 декабря 2019, 21:59
0
Помогите плз. Использую ширину экрана, не получается вывести ее в чанке.

Так видит значение ширины экрана…


… а в TV заюзать значение никак не получается и

[[*screen_width:gt=`768`:then=`меньше 768`:else=`больше 768`]]

И другие глобальные переменные из файла скрипта также не могу в чанке вывести…
АндрейЧ
16 декабря 2019, 22:53
0
Павел, спасибо большое
АндрейЧ
29 октября 2019, 20:23
0
И еще странно, скачиваю этот файл — Gmerh.xml на комп — кидаю в браузер file:///C:/Users/HP/Downloads/gmerch.xml — все также ошибка
АндрейЧ
29 октября 2019, 20:21
0
Проблема почти решена, снипет создает все таки файл, на хостинге он нормально открывается как текстовый файл — идеальный фид  гугла, но по его адресу он не скачивается — почему то сайт его в виде страницы открывает, с красной ошибкой как на скрине выше.
АндрейЧ
29 октября 2019, 18:58
0
Ответьте на личку плз, исправили бы проблему за вознаграждение.
АндрейЧ
29 октября 2019, 17:05
0
Подобная проблема c выховом msProducts описана тут modx.pro/help/12685
Там выяснили что переменная [[+id]] некорректно передавалась через промежуточный чанк.
АндрейЧ
29 октября 2019, 16:53
0
Спасибо. Если в вызове msProducts? &parents=`[[*id]]` тогда товары в фид не выводятся, а шапка фида повляется. Если `[[+id]] тогда ошибка и фида нет вообще.

При этом 2 ошибки в журнале:
Обнаружено пустое состояние IN с идентификатором ключа

[2019-10-29 16:28:06] (ERROR @ /core/xpdo/om/xpdoquery.class.php: 764) Encountered empty IN condition with key id
[2019-10-29 16:25:50] (ERROR in modProcessor::run @ ..../core/model/modx/modprocessor.class.php: 177) Flat file processor support, used for action mgr/resources/getlist with path

PS Оба варианта создания фида, сниппетом или просто XML файлом — работают отлично на тестовом сайте фид создается.
На рабочем сайте — нет. так работает =`[[*id]]`, а так нет: &parents=`[[+id]]` Проблема в этом кусочке кода:
[[!msProducts?
      &depth=`10`
      &limit=`9999`
      &parents=`[[*id]]`
      &tpl=`GoogleMerchantItem`
      &includeTVs=`brand,availability`
    ]]
именно из-за него на XML странице с ошибка:


А вот такой код протестил для интереса — он нормально создает XML страницу с RSS.
:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>[[*pagetitle]] / [[++site_name]]</title>
		<link>[[~[[*id]]?scheme=`full`]]</link>
		<description>[[*description:cdata]]</description>
		<language>en</language>
		<copyright></copyright>
		<ttl>120</ttl>
		<atom:link href="[[~[[*id]]?scheme=`full`]]" rel="self" type="application/rss+xml" />
		[[!pdoResources?
			&tpl=`tpl.Tickets.rss.row`
			&parents=`15`
			&depth=`1`
			&limit=`10`
			&showHidden=`1`
			&sortby=`createdon`
			&where=`{"class_key":"Ticket"}`
			&useWeblinkUrl=`1`
			&scheme=`full`
		]]
	</channel>
</rss>
АндрейЧ
28 октября 2019, 20:02
0
Спасибо за помощь. С твоим кодом такая же ошибка.
This page contains the following errors:
error on line 1 at column 2: StartTag: invalid element name
Below is a rendering of the page up to the first error.
<?php
$filename = MODX_BASE_PATH . 'gmerch.xml';
$limit='1000';
$offset='0';
$tpl = '@INLINE <item>
  <title>{$pagetitle}</title>
  <link>'.MODX_BASE_PATH.'/{$uri}</link>
  <description>{$introtext | striptags}</description>
  <g:image_link>'.MODX_BASE_PATH.'/{$image}</g:image_link>
  <g:price>{$price}</g:price>
  <g:id>{$article}</g:id>
  <g:brand>{$_pls["vendor.name"]}</g:brand>
  <g:condition>new</g:condition>
</item>';

$data = '<?xml version="1.0"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Название</title>
<link>'.MODX_BASE_PATH.'</link>
<description>Описание</description>'; 
$data .= $modx->runSnippet('msProducts', array(
       'parents' => 0, 'where' => '{"Data.favorite":1, "alias:!=":""}', 'limit' => $limit, 'offset' => $offset, 'tpl' => $tpl, 'includeThumbs'=> '600x600', 'includeContent' => 1, 'includeTVs' => 'img,image'
    ));

$data = '</channel></rss>';

$filename = MODX_BASE_PATH . 'gmerch.xml';
$fp = fopen($filename, 'a');
fwrite($fp, $data);
fclose($fp);
АндрейЧ
28 октября 2019, 14:23
0
Павел доброго дня.
Скажите плз, за сколько денег настроите импорт в соц. сети — ВК ОК и FB?
Я не видел RSS ленту, опыта нет настройки… «запрограммируете» ее на 2 задачи?

1. чтобы старые опубликованные ресурсы с сами сайта постились в соц. сети, по очереди как-нибудь.

2. чтобы новые ресурсы при публикации на сайте автоматом постились в соц. сети
Я хочу 1000 ресурсов импортнуть с датами публикации в течении года… получится все что публикуется — автоматом в соц. сети постилось?
АндрейЧ
06 июля 2019, 10:39
0
Все работает чинно! стабильно. Несколько сайтов, WP и Modx одного Юрлица, печатают бумажные и шлют электронные чеки.
В админке опций не вижу как у Алексея. prnt.sc/obb9yw
Не проблема, т.к. не знаю — зачем они там нужны. Но впринципе нужны, чтобы где попало данные не искать.
Если руки дойдут то подскажите когда нить как настроить. компонент версии dreamkas 1.0.2-beta
АндрейЧ
18 мая 2019, 08:59
0
Спасибо большое. Очень помогли.
АндрейЧ
18 мая 2019, 08:51
0
Спасибо за ответ! может срок действия ключа Пушера кончился, или еще что. Разбираюсь.
АндрейЧ
18 мая 2019, 08:50
0
Подскажите плз как на кнопку «Начать чат» поставить другую ссылку ...?
АндрейЧ
18 мая 2019, 08:44
0
Хм и пушер все это время отключен был в настройках, проблем не было. А сейчас есть.
АндрейЧ
18 мая 2019, 08:29
0
Через минут 5 окно чата открывается, но сообщения с сайта не отправляются… Так и остаются в форме ввода текста. Но еще через 5 минут сообщения уходят в ленту чата но до телеграма не доходят.
АндрейЧ
18 мая 2019, 08:27
0
2 года нормально было все и перестал работать. Подскажите пожалуйста это из-за блокировок телеграма?
После кнопки «Начать чат» ничего не происходит.