Игорь Терентьев

Игорь Терентьев

С нами с 29 ноября 2013; Место в рейтинге пользователей: #48

modInstagram2 с использованием Basic Display API


Всем привет!

Обновление компонента для тех, кому надоели блокировки IP серверов Инстаграмом :)
Игорь Терентьев
17 июня 2020, 20:53
modx.pro
893
+13

[modInstagram] 1.2.0 - Instagram PHP Scraper и прокси



Всем привет!

Долгожданное обновление компонента. Что нового:

  • теперь используется библиотека Instagram PHP Scraper
  • два способа получения данных: парсинг страницы и JSON www.instagram.com/USER_NAME/?__a=1
  • авторизация по логину/паролю для закрытых аккаунтов (также может помочь, если заблокирован IP)
  • возможность использования прокси для обхода блокировки IP
  • вывод более 20 постов
Актуальная документация в modstore.

Новая версия уже в modstore: https://modstore.pro/packages/photos-and-files/modinstagram
Демо: https://demo.webone.pw/modinstagram/scraper/
Github: https://github.com/ig0r74/modInstagram/
Игорь Терентьев
16 февраля 2020, 12:15
modx.pro
1 756
+10

Новая версия modInstagram, теперь без токена!



Скоро выйдет еще одно большое обновление компонента с прокси и авторизацией по логину/паролю (для тех, у кого IP сервера в черном списке Instagram).

Всем привет!

Наконец появилось время заняться компонентом. Еще с 15 октября 2019 Instagram перестал выдавать токены для устаревшего API www.instagram.com/developer/. В связи с чем пришлось искать другие способы получения постов и решено было выдергивать json, который можно достать с любой публичной страницы.
Игорь Терентьев
21 января 2020, 21:27
modx.pro
2
1 140
+15

Как перезаписать или расширить конфиг грида ExtJS

Всем привет! Вопрос к знатокам ExtJS.

Как расширить или перезаписать конфиг, а в идеале только один параметр?

Нужно в гриде с заказами выделять строку цветом. Для этого нужно добавить условие в getRowClass:
github.com/bezumkin/miniShop2/blob/master/assets/components/minishop2/js/mgr/misc/default.grid.js#L25-L40

Который наследуется в miniShop2.grid.Orders:
github.com/bezumkin/miniShop2/blob/master/assets/components/minishop2/js/mgr/orders/orders.grid.js
Игорь Терентьев
29 марта 2019, 19:25
modx.pro
468
+1

Как вы разрабатываете сайты на MODX в команде?

Всем привет!

Поделитесь своим опытом разработки сайтов в команде.



Сейчас мы разрабатываем сайты вдвоем. У каждого из нас есть по тестовому сайту. И еще есть один тестовый для клиента, где мы показываем новую версию перед продакшеном. Всего получается 3 сайта для разработки и 1 рабочий. Тестовые сайты расположены на нашем домене третьего уровня.
Игорь Терентьев
13 сентября 2018, 20:26
modx.pro
3
1 209
+2

Как сделать, чтобы getImageList понимал тэги Fenom?

Читал в этом вопросе, что можно просто заменить $modx->getChunk.

Я сделал копию getImageList и добавил в начало:
$path = MODX_CORE_PATH . 'components/pdotools/model/pdotools/';
$pdoFetch = $modx->getService('pdofetch','pdoFetch', $path, $scriptProperties);

И заменил $modx->getChunk на $pdoFetch->getChunk здесь

Но все равно тэги Fenome не распознаются.

Нужно это мне для работы с пагинацией и сложных чанков с условиями:
{'!pdoPage' | snippet : [
                'element' => 'getImageList',
                'docid' => $_modx->resource.id,
                'tvname' => 'resourcealbum',
                'processTVs' => 0,
                'where' => [
                    'active' => 1,
                ],
                'ajaxMode' => 'button',
                'tpl' => 'migx.gallery.item',
                'limit' => 2,
            ]}
Игорь Терентьев
26 февраля 2018, 19:50
modx.pro
672
0

Порядок значений опций товара

После сохранения товара изменяется порядок введенных значений опций.

До сохранения:

После сохранения:


Как это пофиксить? Пусть и с правкой исходников.
Игорь Терентьев
20 сентября 2017, 21:27
modx.pro
1 445
+1

MiniShop2 и греческий язык

В форме заказа не проходят валидацию греческие символы (например Σχήμα κουτιού και)

На счет php не знаю, но js точно не пропускает:



Не могу найти в default.js блок, который отвечает за валидацию.
Игорь Терентьев
05 сентября 2017, 09:06
modx.pro
1
1 070
0

Как через API добавить опцию товара miniShop2?

Размеры, цвета добавляются, а опцию «shank» не получается…
$ob = $modx->newObject('msProduct');
$tmp = [
    'pagetitle' => $pagetitle
    ,'class_key' => 'msProduct'
    ,'uri' => $url
    ,'createdon' => time()
    ,'template' => 4
    ,'price' => $cur_price
    ,'tags' => $tags
    ,'color' => $color
    ,'options-shank' => $shank
    ,'option-shank' => $shank
    ,'shank' => $shank
];
$ob->fromArray($tmp);
$ob->save();
Игорь Терентьев
01 августа 2017, 17:04
modx.pro
3
2 567
0

Меняется old_price при изменении price в плагине

При изменении цены через плагин (события: msOnGetProductPrice, msOnBeforeAddToCart, msOnAddToCart) перезаписывается значение поля old_price значением price (до изменения). Как сделать так, чтобы значение не изменялось или записать в него свое значение?

Плагин:
<?php
switch ($modx->event->name) {
    case 'msOnGetProductPrice':
        if ($modx->context->key == 'mgr') {
            return '';
        }
        $currencyrate = $modx->getService('currencyrate', 'currencyrate',
            $modx->getOption('currencyrate_core_path', null,
                $modx->getOption('core_path') . 'components/currencyrate/') . 'model/currencyrate/', $scriptProperties);
        if (!($currencyrate instanceof currencyrate)) {
            return '';
        }
        $currency = $currencyrate->currency;
        if ($currency == $modx->getOption('currencyrate_currency')) {
            return '';
        }
        $list = $currencyrate->getList();
        
	$values = & $modx->event->returnedValues;
        
        if (!isset($modx->event->returnedValues['price'])) {
            $modx->event->returnedValues['price'] = $price;
        }
        $price = &$modx->event->returnedValues['price'];
        $new_price = ($price * $list[EUR]) / $list[$currency];
        if ($new_price !== false) {
            $price = $new_price;
        }
        
        break;
}
Игорь Терентьев
19 июля 2017, 10:39
modx.pro
1 330
0