Игорь Воротнёв если бы. прикол в том, что если устанавливаешь плагин - кнопки в админке показывает так как надо, а на выходе уже снова переопределяет на стандартные, вот и мучаюсь..
Александр Зонов вторым путем "Второй путь вносить изменение в виджет, чтобы он открывал выпадающую панельку корзины, если она не пустая." отыскал виджет и внес изменения туда - спасибо!
scapp "это не уточненный вопрос - это другой вопрос
ты так планируешь уточнять пока все готово не будет?" не понял вопроса. задача как была, так и осталась - считать сумму всех элементов. сейчас я сделал так, чтобы считалась сумма для одного, осталось интерполировать это на всех по принципу summary = summary +(value * basePrice) и учесть удаление элемента - вот и все. Затык в том, что логические операции javascript ведь считает иначе, чем тот же php ?
Александр Зонов второй вариант нравится мне гораздо больше! т.е. смотрите, есть php функция - в нее мы вносим echo "" ?
if ( ! function_exists( 'woocommerce_mini_cart' ) ) {
/**
* Output the Mini-cart - used by cart widget
*
*/
function woocommerce_mini_cart( $args = array() ) {
Александр Зонов ну я же писал "другое дело, что li c классом empty виден через через инструмент обработчика, НО НЕ В ИСХОДНОМ КОДЕ СТРАНИЦЫ, т.к. подгружается виджетом вордпресс - можете посмотреть фидл" в фидле как раз отображение исходного кода страницы, поэтому и не было нужды подключать библиотеку
Александр Зонов по поводу селектора все верно -я его сам создаю в структуру. другое дело, что li c классом empty виден через через инструмент обработчика, но не в исходном коде страницы, т.к. подгружается виджетом вордпресс - можете посмотреть фидл - fiddle.jshell.net/z5r2zbpd
Александр Зонов пусть я напутал, но почему теперь блок .fixed-bottom отображается ВСЕГДА?? при любых раскладах, даже когда в .fixed-bottom .cart_list li есть класс empty...
Александр Зонов 1 - да, это я понимаю. мне нужно, чтобы эта же проверка тогда выполнилась на перезагруженной странице.
2 - " Использование e.preventDefault() позволяет избежать перезагрузки" но не в случает, если элемент, для которого оно выполняется динамический - вы это уже говорили.
"В этом случае не нужно открывать меню, оно вообще не закроется. " вот такое поведение мне не нужно. необходимо, чтобы меню было открыто, когда в нем есть элементы, если элемент удален и в нее по прежнему еще есть элементы (даже после перезагрузки) и закрываться только в случае, если в ней элементов нет, поэтому использование e.preventDefault() получается отпадает..
да, элементы появляются динамически. Александр Зонов т.е. вот так?
[JS]$('#foot-carousel').on('click', '.remove-item',
function(e) {
e.preventDefault();
if ( $(".fixed-bottom .cart_list li").hasClass("empty") ) {
$(".fixed-bottom").hide();
}
else {
$('#foot-carousel').data('owlCarousel').removeItem($(this));
$(".fixed-bottom").show();
};
});[/JS]
неа, теперь вообще ничего не может удалить, а если с главной корзины удалить, то страница снова перезагружается и блок не появляется...
Александр Зонов эмм.. добавил e.preventDefault(); - перезагрузка страницы произошла и сервер узнал, что товар был удален..за пояснения спасибо, но решения по-прежнему все нет..
Александр Зонов вот страничка моей темы velikorodnov.com/wordpress/flatastic/classic
принцип тот же - набираем товары в корзину и удаляем по одиночке из выпадающего списка. после удаления одного/двух товаров страница начинает произвольно перезагружаться и после этого момента мое условие уже не выполняется..