Максим Кузнецов

Максим Кузнецов

Был в сети 04 августа 2021, 21:51
Заказы принимаю
Так, если вы уже заджоинили все изображения (для оптимизации, к слову, лучше дополнительно джоинить обрезанные превьюшки, чтобы не тянуть лишний вес и огромные картинки) — что вам осталось реализовать?

Если у вас уже стоит бутстрап, вам осталось только подключить скрипт (js слайдера) и обернуть в шаблоне вызова каждой картинки соответствующую верстку.

Ну и + можно выставить плейсхолдер &totalVar (допустим, totalSlides) и обернуть им весь шаблон слайдера такой конструкцией: [[+totalSlides:isnot=`0`:then=`шаблон слайдера`]], чтобы не грузить пустую форму слайдера, если самих слайдов еще нет.
Необходимо создать кастомный класс доставки:

1) Идем в core/components/minishop2/custom/delivery/ и создаем здесь свой пхп файл (допустим, mscustomdeliveryhandler.class.php) со следующим содержимым:

<?php

//Важно: при изменении названия файла, вот в этом месте также нужно изменить класс
class mscustomdeliveryhandler extends msDeliveryHandler{

	public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
        $cart = $this->ms2->cart->status();
        
	//условие начисление доставки
        if ($cart['total_cost'] < 5000) {
            $add_price = $delivery->get('price');
            if (preg_match('/%$/', $add_price)) {
                $add_price = str_replace('%', '', $add_price);
                $add_price = $cost / 100 * $add_price;
            }
            $cost += $add_price;
        }
        
        return $cost;
    }

}

2) Идем в настройки магазина -> Варианты доставки.
Создаем новый вариант «Доставка» (или редактируем исходный), после чего заполняем в «дополнительную стоимость» требуемое значение (300 рублей), в Класс-обработчик пишем название созданного файла — mscustomdeliveryhandler, заполняем доступные способы оплаты и ставим галочку напротив «включен».
Не изменилось ли древо файловой структуры? (например, было: /public_html/сайт, а стало: home/www/сайт)

Если да — необходимо переписать пути во всех файлах из
данного гайда.

Если же дело не в этом, то, скорее всего, проблема связана с самим хостингом (придется или урезать системные настройки сайта, или долбиться в тп).
1. Ajax. Или оставлять в шаблоне.

2. Проверять перед добавлением длину результата скрипта и ставить соответствующее условие на вывод.

$(function() {
	$("#tags").autocomplete({
		//ваши параметры        
		response: function(event, ui) {
			if (ui.content.length === 0) {
				$("#empty").text("Результатов по запросу не найдено").css("display", "block");
			}
			else {
				$("#empty").text("").css("display", "none");
			}
		}
	});
});​