Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
19 июня 2015, 22:11
1
+2
использовать специально предназначенный для этого сниппет msOptions?
или можно так [[+size.0]] и тд…
Володя
19 июня 2015, 22:07
2
+1
этого должно хватить
switch ($modx->event->name) {
	case 'OnResourceDelete':
		$modx->runProcessor('resource/emptyrecyclebin');
		break;
}
Володя
18 июня 2015, 22:37
0
по простому можно плагин на OnResourceDelete
и в нем запустить emptyrecyclebin
Володя
17 июня 2015, 23:28
+1
<script>
var data = {};
var p = decodeURIComponent(location.search.substr(1)).split('&');

for(i in p) {
    var d = p[i].split('=');
    data[d[0]] = d[1];
}
if ('параметр' in data) {
    $('.navbar').hide();
}
</script>
Володя
17 июня 2015, 08:48
0
будет время посмотрю, у меня ничего не слетает…
Володя
17 июня 2015, 08:47
1
0
Привет, вот тут сниппет набросал demo.vgrish.ru/manager/?a=element/snippet/update&id=46
<?php
/** @var array $scriptProperties */
/** @var msop2 $msop2 */
$miniShop2 = $modx->getService('minishop2');
$msop2 = $modx->getService('msop2', 'msop2', $modx->getOption('msop2_core_path', null, $modx->getOption('core_path') . 'components/msop2/') . 'model/msop2/', $scriptProperties);
if (!($msop2 instanceof msop2)) return 'Could not load msop2 class!';
if (empty($product)) {$product = $modx->resource->id;}
$msProduct = $modx->getObject('msProduct', $product);
if (!($msProduct instanceof msProduct)) {
	return 'This resource is not instance of msProduct class.';
}
$q = $modx->newQuery('msop2Option');
$q->where(array('key' => $name, 'active' => 1));
$q->select('id as option_id');
if ($q->prepare() && $q->stmt->execute()) {
	$data = $q->stmt->fetch(PDO::FETCH_ASSOC);
	$option_id = $data['option_id'];
}
$q = $modx->newQuery('msop2Price');
$q->sortby('CAST(price AS DECIMAL(10,2))', 'ASC');
$q->where(array('product_id' => $product, 'option' => $option_id,'active' => 1, 'operation' => 1));
$q->select('price as price_min, value as value');
$q->limit(1);
if ($q->prepare() && $q->stmt->execute()) {
	$data = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
}
if (!empty($data)) {
    $priceMin = $data[0]['price_min'];
}
else {
    $priceMin = $msProduct->get('price');
}
$priceMin = $miniShop2->formatPrice($priceMin);
if (!empty($toPlaceholder)) {
	$modx->setPlaceholder($toPlaceholder, $priceMin);
}
else {
	return $priceMin;
}
вызов
[[!msop2GetMinPrice? 
 &product=`[[+id]]`
 &name=`size`
]]
Володя
16 июня 2015, 08:37
0
Добавил функцию отмены заказа

Отправил в репозиторий.
Володя
15 июня 2015, 20:52
+1
да, есть в планах добавление новых опций MiniShop2 и полей Tagger
Володя
15 июня 2015, 20:50
0
где логика? Говорю можно, а вы про забивать руками…
Если есть желание то можно и руками.
Володя
15 июня 2015, 17:34
0
ссылка вида
/assets/components/msklad/1c_exchange.php?http_auth=htauth:bVN5bmM6ZWQ3ODgyYmU1NzZhMTJjNWU0MGU1MTE2MWMyNmQ2MGM=&type=catalog&mode=import&filename=import.xml
где htauth:bVN5bmM6ZWQ3ODgyYmU1NzZhMTJjNWU0MGU1MTE2MWMyNmQ2MGM=
логин пароль через : в base64
ну а остальное по логике сообразите
Володя
15 июня 2015, 07:25
0
Дописав соответствующий код в импортер — конечно можно.
Володя
13 июня 2015, 11:59
1
+1
Внимание на это — miniShop2.plugin.pluginname
pluginname — уникальное!
Володя
13 июня 2015, 10:17
0
Василий добавь пожалуйста [mscZone] в «пробники» на modhost.pro/.
Заранее спасибо!
Володя
13 июня 2015, 10:15
0
по моему там нет его в установочных пакетах…
Володя
13 июня 2015, 10:14
+1
// Файл /assets/components/minishop2/plugins/typetissue/msproductdata.js
miniShop2.plugin.pluginname = {
	getFields: function(config) {
		return {
			typetissue: {xtype: 'textfield', description: '<b>[[+typetissue]]</b><br />'+_('ms2_product_typetissue_help')}
		}
	}
	,getColumns: function() {
		return {
			typetissue: {width:50, sortable:true, editor: {xtype:'textfield'}}
		}
	}
};
найдите одно отличие )
Володя
08 июня 2015, 20:44
0
Привет, где и что ты хочешь получить?
Напиши в скайп, мы вроде там общались…
Володя
08 июня 2015, 20:43
0
Если вы по поводу msOptionsPrice2 — то пишите в поддержку. Все решим.