switch ($status) {
case 1:
//...
break;
case 2:
//...
break;
case 3:
//...
break;
}
if ($status == 1) {
//...
} elseif ($status == 2) {
//...
} elseif ($status == 3) {
//...
} else { //это замена default (не обязателен) из конструкций switch
//...
}
$(document).ready(function() {
//$("body").on('click', '[href*="#"]', function(e){ такой вариант НАДЁЖНЕЕ, когда динамически изменяется DOM
$('a[href^="#"]').on('click', function(e) {
// отменяем стандартное действие ссылки
e.preventDefault();
var sc = $(this).attr("href");
var dn = $(sc).offset().top;
// sc - в переменную заносим информацию о том, к какому блоку надо перейти
// dn - определяем положение блока на странице
$('html, body').animate({scrollTop: dn}, 1000);
// 1000 скорость перехода в миллисекундах
});
});
$("#review").load('index.php?route=blog/article/review&article_id={{ article_id }}', function(response, status, xhr) {
if (status == "error") {
var msg = " Извините, но произошла ошибка: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
} else {
var sc = window.location.hash;//ссылка с id (#answer_item_2349276)которую мы поймали на другой странице, например (qna.habr.com/q/556291#answer_item_2349276)
var dn = $(sc).offset().top;//определяем положение блока на странице
$('html, body').animate({scrollTop: dn}, 1000);
}
});
// К примеру это моя инициализация слайдера в другом файле
const swiper = new Swiper('.swiper', {
observer: true, //обязательно
observeParents: true, //обязательно
observeSlideChildren: true, //обязательно
// ...
});
// И здесь же запускаю слушатель событий повторно инициализирую
swiper.on('observerUpdate', function () {
console.log('DOM изменился ');
const swiper = new Swiper('.swiper', {
// ...
});
});
console.log(window.location.href.indexOf('json'));
// получим цифру 28
'Hello, world!'.indexOf('world'); // 7
'Hello, world!'.indexOf('o'); // 4, в конце hello
'Hello, world!'.indexOf('o', 5); // 8, вторая буква в world
!!'Hello, world!'.indexOf('z'); // true, отрицательное число приводится к true
!!'Hello, world!'.indexOf('H'); // false, 0 трактуется как false
const guestList = ['Петя', 'Настя', 'Артур', 'Лена', 'Настя', 'Эммануил']
const guest = // получаем откуда-нибудь имя гостя
if (guestList.indexOf(guest) >= 0) {
// пускаем на вечеринку
} else {
// отправляем домой
}
if (window.location.href.includes('json')) {
// содержит
} else {
// не содержит
}
system/library/cart/cart.php
__construct
.line 22
файла system/library/cart/cart.php
вы можете увидеть , как это работает:// this code queries the current cart of your session id. so before you were logged int, your cart was saved to the database under a session id.
$cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '0' AND customer_id = '0' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");
//after it finds your card products, it adds them to your CUSTOMER id.
foreach ($cart_query->rows as $cart) {
$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE cart_id = '" . (int)$cart['cart_id'] . "'");
// The advantage of using $this->add is that it will check if the products already exist and increaser the quantity if necessary.
$this->add($cart['product_id'], $cart['quantity'], json_decode($cart['option']), $cart['recurring_id']);
}
$ this-> session-> getId ()
, поэтому скрипт не может найти продукты в корзине.//print out the session id.
print_r($this->session->getId());
$cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '0' AND customer_id = '0' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");
//print out the result of the query
print_r($cart_query->rows);
foreach ($cart_query->rows as $cart) {
$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE cart_id = '" . (int)$cart['cart_id'] . "'");
// The advantage of using $this->add is that it will check if the products already exist and increaser the quantity if necessary.
$this->add($cart['product_id'], $cart['quantity'], json_decode($cart['option']), $cart['recurring_id']);
}
session_id=$this->session->getId()
и попытаться выяснить, почему он не возвращает товары из корзины.https://www.site.com
, а сами страницы могли открываться по www.site.com
. Поэтому при отправке товара в корзину, менялся протокол и то что попадало в миникорзину, в итоге исчезало из основной корзины.https://www
и настроил редирект с www.site.com, на https://www.site.com
в .htaccess и всё заработало!