Роман Воропаев (Volk)

Роман Воропаев (Volk)

Был в сети 06 ноября 2019, 08:28
Заказы принимаю
Евгений Webinmd
Евгений Webinmd
можно в свой js файл дописать функцию типа такой

var cost = $('#ms2_order_cost').text();
if(cost > 3000) {
	$('.block').hide();
}else{
	$('.block').show();
}

А отслеживать изменения в корзине примерно таким кодом

miniShop2.Callbacks.Cart.change.response.success = function( response ) {
    if ( response['success'] == true  ) {
        var cost = response.data['total_cost']; 
	if(cost > 3000) {
		$('.block').hide();
	}else{
		$('.block').show();
	} 
   } 
};
Володя
Володя
можно по простому пользуя pdoResources и феном
{var $rows = 'pdoResources'|snippet:[
'class' => 'glCity',
'limit' => 0,
'sortby' => ["name_ru"=>"ASC"],
'where' => ["active" => 1,"name_ru != name_en"],
'select' => ["glCity" => "*","LEFT(glCity.name_ru ,1) as letter"],
'return' => 'json'
]|json_decode}

{var $letter_cities = []}
{foreach $rows as $row}
{set $letter_cities[$row.letter][] = $row}
{/foreach}

{set $letter = ''}
{foreach $letter_cities as $letter => $cities}
    <div class="letter">
        {$letter}
        
        {foreach $cities as $city}
            {$city.name_ru}
        {/foreach}
    </div>
    
{/foreach}
либо написать свой сниппет…
Максим Кузнецов
Максим Кузнецов
На fenom-е посимпатичнее будет:

{foreach $_modx->resource.pagetitle | split : ' ' as $pagetitle_word}
	{if $pagetitle_word | length > 3}
		{var $words[] = $pagetitle_word}
	{/if}
{/foreach}

{set $random_word_position = rand(1, $words| length)}
{set $random_word = $words[$random_word_position - 1]}

{$_modx->runSnippet('!msProducts', [
	'parent' => $_modx->resource.parent,
	'resources' => -$_modx->resource.id,
	'where' => '{
		"pagetitle:LIKE": "%' ~ $random_word ~ '%"
	}',
	...
])}
Сергей Кепкин
Сергей Кепкин
ну поискал бы тут на форуме!!! почему предлагаю это — я уже псыкал разжеванный ответ!!!
еще раз, ок))):
1. создаешь сниппет под названием yaSuperProger
<?php
//умолчальная сортировка по убыванию id
$DetectGetBy = 'id';
$DetectGetDir = 'desc';
//подсветка активного пункта
$DetectGetHL = 'default';
$DetectGetText = 'сначала новинки';

if (!empty($_GET['sort'])) {
	if ($_GET["sort"] == "price_up") { //сортировка по возрастанию цены
		$DetectGetBy = 'Data.price';
		$DetectGetDir = 'asc';
		$DetectGetHL = 'price_up';
		$DetectGetText = 'сначала подешевле';
	}
	if ($_GET["sort"] == "price_down") { //сортировка по убыванию цены
		$DetectGetBy = 'Data.price';
		$DetectGetDir = 'desc';
		$DetectGetHL = 'price_down';
		$DetectGetText = 'сначала подороже';
	}
}

$modx->setPlaceholder('DetectGetBy', $DetectGetBy);
$modx->setPlaceholder('DetectGetDir', $DetectGetDir);
$modx->setPlaceholder('DetectGetHL', $DetectGetHL);
$modx->setPlaceholder('DetectGetText', $DetectGetText);
2. в шаблон страницы категории вставляешь вызов этого сниппета и чанк с кнопками, или упрощенно без чанка так:
[[!yaSuperProger]]
<div class="row box-filter">
<div class="col-sm-12">
	<div class="btn-group">
		<button type="button" class="btn btn-default dropdown-toggle sort" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
							[[+DetectGetText]] <span class="caret"></span>
		</button>
		<ul class="dropdown-menu [[+DetectGetHL]]">
			<li class="first"><a class="sort_default" href="[[~[[*id]]]]">сначала новинки</a></li>
			<li><a  class="sort_price_up"href="[[~[[*id]]]]?sort=price_up">сначала подешевле</a></li>
			<li class="last"><a class="sort_price_down" href="[[~[[*id]]]]?sort=price_down">сначала подороже</a></li>
		</ul>
	</div>
</div>
</div>
[[!pdoPage?
	&element=`msProducts`
	&limit=`12`
	&depth=`0`
	&sortby=`[[+DetectGetBy]]` &sortdir=`[[+DetectGetDir]]`
	&ajaxMode=`default`
]]
Николай Савин
Николай Савин
Интернет-магазин — это по сути онлайн-витрина, а не средство управления складом, взаимоотношениями с клиентами и прочим.
Для ваших целей Вам нужно использовать CRM систему. А конкретно — RetailCRM. Там вы можете делать уже что угодно.
Данная система прекрасно интегрируется с MODX через API.
Modx передает первоначальный заказ, и профиль пользователя, в сам магазин даже заходить не надо для обработки заказа.
А дальше менеджер уже в CRM, где ему положено находиться обрабатывает заказ, меняет позиции, управляет доставкой и оплатой, передает в ответственные отделы и так далее.