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

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

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

MIGX getImageList и Fenom

Есть такой вызов
{$_modx->runSnippet('!getImageList', [
	'tvname' => 'tv_product_main_gallery',
	'tpl' => '@CODE: <some_chunk>'
])}


По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
'tpl' => '@CODE: [[+image]]'
Работает.

Когда я пишу
'tpl' => '@CODE: {$image}'
То не работает.

Когда я пишу
'tpl' => '@CODE: {$_modx->resource.myMIGXtv}'

То работает, получаю содержимое переменной. Весь массив значений.

Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
Paul B.
07 июня 2016, 13:54
modx.pro
19
12 887
0

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
115
19 588
+19

Ресурсы отображаются как дочерние в Collections

Всем привет.

Такая ситуация.
С фронт-энда можно добавлять ресурсы, родителем указан ресурс типа Collections.
После добавления ресурс отображается как дочерний и виден в дереве (а должен быть внутри коллекции).



Код добавления ресурса с фронт-энда с помощью FormIt:

[[!FormIt?
    &hooks=`formit2resource,formit2file,redirect`
    &redirectTo=`37`
]]

<form id="add" action="[[~[[*id]]]]" method="post" enctype="multipart/form-data">
    
    <input type="hidden" name="nospam:blank" />
    
    <input name="resource_id" type="hidden" value="[[!+fi.id]]">
    <input id="parent" name="parent" type="hidden" value="65">
    
	<div class="form-group">
		<label>Название</label>
		<input type="text" class="form-control" name="pagetitle" id="pagetitle" value="[[+fi.pagetitle]]">
	</div>
	<div class="form-group">
		<label>Выберите рубрику</label>
		[[$rubriek_list]]
	</div>
	<div class="form-group">
		<label>Описание</label>
		<textarea id="content" name="content" class="form-control" rows="3">[[+fi.content]]</textarea>
	</div>
	
    <div class="form-group">
        <label>Добавить файл</label>
        <br />
        <input id="file" type="file" maxlength="100000" name="file1" value="[[+fi.file1]]" />
    </div>
	
	<button type="submit" class="btn btn-default" name="submit">Отправить</button>
	
</form>
Если уже в админке открыть ресурс и нажать Сохранить, вот тогда он спрячется из дерева и будет сохранен где надо. Если делать ресурс в самой админке, в коллекции — то все работает как положено.

Как сделать, чтобы ресурс сразу был внутри коллекции при публикации с фронт-энда? Прошу совета.
Anton
26 мая 2016, 10:27
modx.pro
1
1 683
-1

[Решено] Доп. поле даты в свойствах товара

Всем привет!
Добавил через плагин поле даты:

msproductdata.js:
miniShop2.plugin.pluginname = {
	getFields: function(config) {
		return {
			datestart: {xtype: 'minishop2-xdatetime', value: config.record.datestart, description: '<b>[[+datestart]]</b><br />'+_('ms2_product_datestart_help')},
		}
	}
	,getColumns: function() {
		return {
			datestart: {width:50, sortable:false, editor: {xtype:'minishop2-xdatetime', name: 'datestart'}},
		}
	}
};
msproductdata.map.inc.php такой:
<?php
return array(
	'fields' => array(
		'datestart' => 0
	)
	,'fieldMeta' => array(
		'datestart' => array(
			'dbtype' => 'int'
			,'precision' => '20'
			,'phptype' => 'timestamp'
			,'null' => false
			,'default' => 0			
		)
	)
	,'indexes' => array(
		'datestart' => array (
			'alias' => 'datestart'
			,'primary' => false
			,'unique' => false
			,'type' => 'BTREE'
			,'columns' => array (
				'action' => array (
					'length' => ''
					,'collation' => 'A'
					,'null' => false
				)
			)
		)
	)
);
Klike
24 мая 2016, 18:08
modx.pro
2
1 529
0

Расширение pdoTools

Представляю законченное решение для работы с файловыми элементами, собранное в пакет. Оно добавляет в pdoTools модификаторы chunk, snippet, template и code. Синтаксис точно такой же, как и в pdoTools — в названии элементов можно вставлять префиксы @FILE, @INLINE, @CODE и т.д. Поэтому вызовы элементов, описанные в прошлой статье, теперь немного изменились.
Сергей Шлоков
18 мая 2016, 06:54
modx.pro
7
3 166
+4

[UPDATE] Разные скидки в зависимости от общей суммы корзины

По следам записи Михаила Воеводского и этого объявления о работе был написан плагин для miniShop2, который позволяет выставить скидку в процентах для всей корзины в зависимости от общей суммы корзины.
Скидка выставляется пошагово: по достижении определённых сумм применяется своя скидка. К примеру, корзина стоит 100кр — скидка 10%, 150кр — 15%. При желании можно выставить сколько угодно шагов и какой угодно процент. Данные указываются массивом в самом начале плагина, вот так:
$discounts = array(
    '100000' => '10%',
    '150000' => '15%',
    '200000' => '20%',
);
Часть кода была взята из компонента msPromoCode, в частности для того, чтобы цены на товары в корзине обновлялись динамически при смене кол-ва или удалении товара из корзины.
Павел Гвоздь
22 апреля 2016, 17:54
modx.pro
23
6 768
+11

[ms2guploader] Загрузка с фронтэнда в ms2Gallery


Небольшое решение на основе ms2form.

Умеет: аплоад драг н дроп, менять местами фотки, удалять фото.
but1head
02 апреля 2016, 01:19
modx.pro
19
14 663
+10

Как я расширил стандартную таблицу пользователей

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

Обычно использую office, который обеспечивает готовый личный кабинет из коробки с минимальными усилиями, он же позволяет сохранять все в базу, пользователей. Но вот беда, полей катастрофически не хватает. Логичным решением было создавать страницы для каждого пользователя, и добавлять сколько угодно TV. Так я и делал, но решил заморочиться и не дублировать страницы, а расширить таблицу пользователей и работать с ней напрямую, как с ресурсом.

Вот что я сделал:
Николай Савин
30 марта 2016, 14:48
modx.pro
25
5 243
+6

Обновление всех превью товара MS2

Добрый день.
Подскажите где найти рабочий вариант для последний версии minishop2?
Пробовал три варианта с этой страницы bezumkin.ru/modx/minishop2/solutions/1465/ и все нерабочие причем первый удалил все картинки с сайта( с галереи minisop2)

Возможно что то не так делаю, но скрипты выложены давно и вероятно просто не совместимы.
Заранее благодарен.
Александр
21 марта 2016, 13:31
modx.pro
9
10 201
0

Не загружается список пакетов. Loading. И ничего.

Здравствуйте. Только что установил последнюю версию CMS, взятую с официального сайта.
Перехожу в «Управление пакетами», жму «Загрузить дополнения» и… Бесконечный «loading».
Установлен Xampp, версия PHP 5.6.19. cUrl проверял, подключено.
Подскажите, пожалуйста, как пофиксить? Гуглил долго, ничего толкового не нашёл.
Den
Den
16 марта 2016, 20:49
modx.pro
1
5 535
0