Дмитрий Суворов

Дмитрий Суворов

С нами с 01 августа 2013; Место в рейтинге пользователей: #185

[pdoTools] 2.7.0 - улучшения Fenom

Привет, друзья!

Для обновления доступна новая версия pdoTools, в которой обновлён сам Fenom, добавлена пара функций, а также исправлена одна серьёзная недоработка.

А теперь подробнее.
Василий Наумкин
05 ноября 2016, 08:42
modx.pro
4
5 351
+10

Критическая уязвимость в MODX Revolution

Сильно в детали лезть не буду, просто скажу, что сейчас любой MODX Revo сайт потенциально уязвим. Дыра позволяет выполнить SQL-инъекции, в том числе с созданием на сайте привилегированных пользователей.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.

Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.

P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Fi1osof
05 ноября 2016, 07:50
modx.pro
17
39 929
+30

Подключение к базе данных из сниппета

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

$result = dbquery('SELECT name FROM test_table WHERE id="1"');
	if (dbrows($result) != '') {
		$data = dbarray($result);
		$name =$data['name'];
		echo $name;
	}

Выдает ошибку

Fatal error: Call to undefined function dbquery() in /home/адрес сайта/core/cache/includes/elements/modsnippet/51.include.cache.php on line 2
kgb3000
04 ноября 2016, 08:43
modx.pro
1
2 986
0

Как сделать расширеный поиск

ДД! Подскажите как сделать и с чем подобие поиска как тут xn--80abwaa1a3aj3c.xn--80adxhks/
Копал в сторону msearch2 но так и не разобрался
Михаил
03 ноября 2016, 13:06
modx.pro
1
1 009
0

Создание плагина товара

Привет всем!
Я новичок в ModX. Делаю свой первый интернет-магазин на ModX Revo, решил использовать miniShop2. Первая трудность возникла при добавлении нового свойства товара с помощью плагина товара. С инструкцией ознакомился docs.modx.pro/components/minishop2/development/plug-ins-products.

Что я сделал? Я создал контроллер плагина, сохранил его в index.php и положил его в папку с названием своего плагина: core/components/minishop2/plugins/msplvolume
Содержание файла index.php:
<?php
return array(
    'map' => array(
        'msProductData' => require_once 'msproductdata.inc.php',
    ),
    'manager' => array(
        'msProductData' => MODX_ASSETS_URL . 'components/msplvolume/msproductdata.js',
    ),
);
Пока меня не интересует массив manager (расширение админки), поэтому, я создал только один файл msproductdata.inc.php. В нем я написал, что хочу расширить модель данных продукта, добавив одно целочисленное поле volume. Вот код:
<?php
return array(
    'fields' => array(
        'volume' => 0,
    ),
    'fieldMeta' => array(
        'volume' => array(
            'dbtype' => 'int',
            'precision' => '10',
            'phptype' => 'integer',
            'null' => true,
            'default' => 0,
        ),
    ),
);
Файл msproductdata.inc.php я сохранил в той же папке что и index.php.

Потом я добавил поле в таблицу:
ALTER TABLE `modx_ms2_products` ADD `volume` INT NULL DEFAULT NULL;
Как я понял на этом процесс закончен. Дальше miniShop2 и ModX все сделает сами.

Теперь я пытаюсь получить значение volume и вывести его на странице продукта.
Я по примеру вывода свойства weight, добавил в чанк msProduct.content следующий код:
<div class="form-group">
				<label class="col-sm-2 control-label">Объем: </label>
				<div class="col-sm-3">
					<label class="checkbox">[[+volume]] мл.</label>
				</div>
			</div>
В итоге объем не выводится. Подскажите, пожалуйста, что я делаю не так?
Антон А.
03 ноября 2016, 03:57
modx.pro
1
3 617
0

Массовый импорт модификации продуктов [miniShop2]

В поддержке задали вопрос как можно массово добавлять модификации для продуктов (разные цены для разных размеров, артикулы уникальны для каждого размера).

Ниже привожу пример…
Володя
27 октября 2016, 09:54
modx.pro
20
4 913
+5

Подскажи как добавить класс

Доброе время суток!
Подскажите пожалуйста, как добавить css класc товару, у которого стоит галочка популярный товар или новый? Притом классы должны быть разные
Jenik
19 октября 2016, 06:15
modx.pro
1
887
+1

Вывод thumb определенного размера на fenom

Здравствуйте, подскажите, как вывести превью в списке товаров с определенным размером через fenom в чанке tpl.msProducts.row, вывод по старинке
[[+360x270]]
работает, но если выводить через fenom вот так
<img src="{$thumb}" alt="{$pagetitle}" title="{$pagetitle}"/>
то выводится картинка 120x90, хотя в настройках источников приписано
[{"w":210,"h":180,"q":90,"zc":"0","bg":"FFF"},{"w":120,"h":90,"q":90,"zc":"0","bg":"FFF"},
{"w":360,"h":270,"q":90,"zc":"0","bg":"FFF"}
]
Вот и не могу понять синтаксис fenom для вывода определенного размера.
Oracul22
18 октября 2016, 07:58
modx.pro
3
4 383
0

Загрузка заказов ms2, Tikets на стартовой странице

При сравнении «специализированных» cms для интернет магазинов и minishop заметил общую тенденцию у первых выводить при входе в админку список заказов. После недолгой переписки с замечательным исполнителем Павлом Гвоздем возникло такое замечательное и гениальное по простоте решение:
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
Здоров Александр
11 октября 2016, 20:28
modx.pro
66
5 885
+27

Добавление своих полей в форму заказа [обновлено]

При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.

Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей

Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.

Более подробно далее
Дмитрий Меркурьев
11 октября 2016, 16:38
modx.pro
97
19 974
+11