ukrmedsys Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Делаю разметку для категории товаров AggregateOffer, Вопрос Как вывести в php-файле lowPrice, highPrice, offerCount ? В контролере нашёл переменные $product_total - вроде как в ней offerCount (количество товаров в категории) также есть фильтр "внизу" как я понимаю из него мне нужно вытянуть "p.price-asc" и "p.price-desc". В php файле при попытке вывести $product_total - ничего не показывает ( <p itemprop="offerCount"><?php echo $product_total; ?></p>) в контролере он описан вот так: $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-asc', 'href' => $link . '?sort=p.price&order=asc' . $url ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-desc', 'href' => $link . '?sort=p.price&order=desc' . $url ); Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Не передается эта переменная в tpl в контроллере надо добавить после: $product_total = $this->model_catalog_product->getTotalProducts($filter_data); вот это: $data['product_total'] = $product_total; 1 Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 Все равно пусто ничего не выводит Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 в еrror log дальше 16:04:45 - PHP Notice: Undefined variable: product_total in /catalog/view/theme/magazin/template/product/category.tpl on line 240 Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 модификаторы обновите 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 кеш модификаторов не забывайте обновлять, для применения правок 1 Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 3 минуты назад, Prooksius сказал: модификаторы обновите Спасибо а как насчет p.price-asc" и "p.price-desc". или их так же можно ? Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 Или для определения макс и мин цени в категории есть еще какая то переменная ? Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 32 минуты назад, ukrmedsys сказал: Делаю разметку для категории товаров AggregateOffer, Вопрос Как вывести в php-файле lowPrice, highPrice, offerCount ? В контролере нашёл переменные $product_total - вроде как в ней offerCount (количество товаров в категории) также есть фильтр "внизу" как я понимаю из него мне нужно вытянуть "p.price-asc" и "p.price-desc". В php файле при попытке вывести $product_total - ничего не показывает ( <p itemprop="offerCount"><?php echo $product_total; ?></p>) в контролере он описан вот так: $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-asc', 'href' => $link . '?sort=p.price&order=asc' . $url ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-desc', 'href' => $link . '?sort=p.price&order=desc' . $url ); ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 7 минут назад, niger сказал: ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Да а как это сделать ? Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. 3 Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 48 минут назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. на вскидку как-то так, согласен. Только я бы все же вынес это в отдельные методы в модели, получение минимальной и максимальной цены. Их можно успешно кешнуть и положить на недельку, а не с каждым заходом дергать запрос с кучей джоинов Ну и спец и дисконт цена - не нужна, гугл эти данные в сниппете не каждый день обновляет. и Вы еще забыли привести к формату min_price и max_price, как-то так вроде $data['maxPrice'] = $this->currency->format((float)$max_products['price'], $this->session->data['currency'],'',false); Но как быстрое решение и навскидку, согласен - это оно Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Да согласен, это правильнее. Насчет приведения форматом - не знаю, по-моему там нужна именно float price. И наверное надо еще через tax прогонять, забыл.. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 1 час назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. Большое спасибо ) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] MicrodataPro (мікророзмітка json-ld/microdata) 1 2 3 4 82 Автор: Exploits, 17 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 2 040 відповідей 232 318 переглядів Exploits 6 травня MicrodataPro (мікророзмітка json-ld/microdata) Автор: Exploits, 15 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 0 коментарів 154 102 перегляди Exploits 15 грудня 2015 [Поддержка] SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata 1 2 3 4 Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 99 відповідей 10 787 переглядів spectre 23 вересня SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 0 коментарів 21 572 перегляди spectre 18 вересня 2020 [Поддержка] Правильные хлебные крошки Microdata schema.org - GOOGLE approved! Автор: OtezVikentiy, 19 вересня 2020 seo breadcumbs (і ще %d) Теги: seo breadcumbs breadcrumb хлебная крошка хлебрые крошки schema schema.org microdata 0 відповідей 860 переглядів OtezVikentiy 23 вересня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Как вывести в php-файле lowPrice, highPrice, offerCount ? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 Все равно пусто ничего не выводит Надіслати Поділитися на інших сайтах More sharing options...
ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 в еrror log дальше 16:04:45 - PHP Notice: Undefined variable: product_total in /catalog/view/theme/magazin/template/product/category.tpl on line 240 Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 модификаторы обновите 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 кеш модификаторов не забывайте обновлять, для применения правок 1 Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 3 минуты назад, Prooksius сказал: модификаторы обновите Спасибо а как насчет p.price-asc" и "p.price-desc". или их так же можно ? Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 Или для определения макс и мин цени в категории есть еще какая то переменная ? Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 32 минуты назад, ukrmedsys сказал: Делаю разметку для категории товаров AggregateOffer, Вопрос Как вывести в php-файле lowPrice, highPrice, offerCount ? В контролере нашёл переменные $product_total - вроде как в ней offerCount (количество товаров в категории) также есть фильтр "внизу" как я понимаю из него мне нужно вытянуть "p.price-asc" и "p.price-desc". В php файле при попытке вывести $product_total - ничего не показывает ( <p itemprop="offerCount"><?php echo $product_total; ?></p>) в контролере он описан вот так: $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-asc', 'href' => $link . '?sort=p.price&order=asc' . $url ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-desc', 'href' => $link . '?sort=p.price&order=desc' . $url ); ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 7 минут назад, niger сказал: ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Да а как это сделать ? Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. 3 Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 48 минут назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. на вскидку как-то так, согласен. Только я бы все же вынес это в отдельные методы в модели, получение минимальной и максимальной цены. Их можно успешно кешнуть и положить на недельку, а не с каждым заходом дергать запрос с кучей джоинов Ну и спец и дисконт цена - не нужна, гугл эти данные в сниппете не каждый день обновляет. и Вы еще забыли привести к формату min_price и max_price, как-то так вроде $data['maxPrice'] = $this->currency->format((float)$max_products['price'], $this->session->data['currency'],'',false); Но как быстрое решение и навскидку, согласен - это оно Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Да согласен, это правильнее. Насчет приведения форматом - не знаю, по-моему там нужна именно float price. И наверное надо еще через tax прогонять, забыл.. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 1 час назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. Большое спасибо ) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] MicrodataPro (мікророзмітка json-ld/microdata) 1 2 3 4 82 Автор: Exploits, 17 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 2 040 відповідей 232 318 переглядів Exploits 6 травня MicrodataPro (мікророзмітка json-ld/microdata) Автор: Exploits, 15 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 0 коментарів 154 102 перегляди Exploits 15 грудня 2015 [Поддержка] SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata 1 2 3 4 Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 99 відповідей 10 787 переглядів spectre 23 вересня SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 0 коментарів 21 572 перегляди spectre 18 вересня 2020 [Поддержка] Правильные хлебные крошки Microdata schema.org - GOOGLE approved! Автор: OtezVikentiy, 19 вересня 2020 seo breadcumbs (і ще %d) Теги: seo breadcumbs breadcrumb хлебная крошка хлебрые крошки schema schema.org microdata 0 відповідей 860 переглядів OtezVikentiy 23 вересня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Как вывести в php-файле lowPrice, highPrice, offerCount ? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
AlexDW Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 кеш модификаторов не забывайте обновлять, для применения правок 1 Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 3 минуты назад, Prooksius сказал: модификаторы обновите Спасибо а как насчет p.price-asc" и "p.price-desc". или их так же можно ? Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 Или для определения макс и мин цени в категории есть еще какая то переменная ? Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 32 минуты назад, ukrmedsys сказал: Делаю разметку для категории товаров AggregateOffer, Вопрос Как вывести в php-файле lowPrice, highPrice, offerCount ? В контролере нашёл переменные $product_total - вроде как в ней offerCount (количество товаров в категории) также есть фильтр "внизу" как я понимаю из него мне нужно вытянуть "p.price-asc" и "p.price-desc". В php файле при попытке вывести $product_total - ничего не показывает ( <p itemprop="offerCount"><?php echo $product_total; ?></p>) в контролере он описан вот так: $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-asc', 'href' => $link . '?sort=p.price&order=asc' . $url ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-desc', 'href' => $link . '?sort=p.price&order=desc' . $url ); ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 7 минут назад, niger сказал: ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Да а как это сделать ? Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. 3 Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 48 минут назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. на вскидку как-то так, согласен. Только я бы все же вынес это в отдельные методы в модели, получение минимальной и максимальной цены. Их можно успешно кешнуть и положить на недельку, а не с каждым заходом дергать запрос с кучей джоинов Ну и спец и дисконт цена - не нужна, гугл эти данные в сниппете не каждый день обновляет. и Вы еще забыли привести к формату min_price и max_price, как-то так вроде $data['maxPrice'] = $this->currency->format((float)$max_products['price'], $this->session->data['currency'],'',false); Но как быстрое решение и навскидку, согласен - это оно Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Да согласен, это правильнее. Насчет приведения форматом - не знаю, по-моему там нужна именно float price. И наверное надо еще через tax прогонять, забыл.. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 1 час назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. Большое спасибо ) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] MicrodataPro (мікророзмітка json-ld/microdata) 1 2 3 4 82 Автор: Exploits, 17 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 2 040 відповідей 232 318 переглядів Exploits 6 травня MicrodataPro (мікророзмітка json-ld/microdata) Автор: Exploits, 15 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 0 коментарів 154 102 перегляди Exploits 15 грудня 2015 [Поддержка] SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata 1 2 3 4 Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 99 відповідей 10 787 переглядів spectre 23 вересня SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 0 коментарів 21 572 перегляди spectre 18 вересня 2020 [Поддержка] Правильные хлебные крошки Microdata schema.org - GOOGLE approved! Автор: OtezVikentiy, 19 вересня 2020 seo breadcumbs (і ще %d) Теги: seo breadcumbs breadcrumb хлебная крошка хлебрые крошки schema schema.org microdata 0 відповідей 860 переглядів OtezVikentiy 23 вересня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Как вывести в php-файле lowPrice, highPrice, offerCount ?
ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 3 минуты назад, Prooksius сказал: модификаторы обновите Спасибо а как насчет p.price-asc" и "p.price-desc". или их так же можно ? Надіслати Поділитися на інших сайтах More sharing options...
ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 Или для определения макс и мин цени в категории есть еще какая то переменная ? Надіслати Поділитися на інших сайтах More sharing options...
niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 32 минуты назад, ukrmedsys сказал: Делаю разметку для категории товаров AggregateOffer, Вопрос Как вывести в php-файле lowPrice, highPrice, offerCount ? В контролере нашёл переменные $product_total - вроде как в ней offerCount (количество товаров в категории) также есть фильтр "внизу" как я понимаю из него мне нужно вытянуть "p.price-asc" и "p.price-desc". В php файле при попытке вывести $product_total - ничего не показывает ( <p itemprop="offerCount"><?php echo $product_total; ?></p>) в контролере он описан вот так: $product_total = $this->model_catalog_product->getTotalProducts($filter_data); $data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-asc', 'href' => $link . '?sort=p.price&order=asc' . $url ); $data['sorts'][] = array( 'text' => $this->language->get('text_price_desc'), 'value' => 'p.price-desc', 'href' => $link . '?sort=p.price&order=desc' . $url ); ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Надіслати Поділитися на інших сайтах More sharing options...
ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 7 минут назад, niger сказал: ВАм нужно выводить не отфильтрованное количество, и не мин-макс цену отфильтрованных товаров, а всех товаров данной категории. Да а как это сделать ? Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. 3 Надіслати Поділитися на інших сайтах More sharing options... niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 48 минут назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. на вскидку как-то так, согласен. Только я бы все же вынес это в отдельные методы в модели, получение минимальной и максимальной цены. Их можно успешно кешнуть и положить на недельку, а не с каждым заходом дергать запрос с кучей джоинов Ну и спец и дисконт цена - не нужна, гугл эти данные в сниппете не каждый день обновляет. и Вы еще забыли привести к формату min_price и max_price, как-то так вроде $data['maxPrice'] = $this->currency->format((float)$max_products['price'], $this->session->data['currency'],'',false); Но как быстрое решение и навскидку, согласен - это оно Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Да согласен, это правильнее. Насчет приведения форматом - не знаю, по-моему там нужна именно float price. И наверное надо еще через tax прогонять, забыл.. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 1 час назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. Большое спасибо ) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] MicrodataPro (мікророзмітка json-ld/microdata) 1 2 3 4 82 Автор: Exploits, 17 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 2 040 відповідей 232 318 переглядів Exploits 6 травня MicrodataPro (мікророзмітка json-ld/microdata) Автор: Exploits, 15 грудня 2015 микроразметка микроданные (і ще %d) Теги: микроразметка микроданные json-ld application/ld+json ld+json microdata schema.org open graph разметка микроразметка opencart microdatapro rich snippets сниппет google снипеты 0 коментарів 154 102 перегляди Exploits 15 грудня 2015 [Поддержка] SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata 1 2 3 4 Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 99 відповідей 10 787 переглядів spectre 23 вересня SP AUTO SEO FAQ Вопрос-ответ с разметкой FAQPage JSON-LD или Microdata Автор: spectre, 18 вересня 2020 faq seo (і ще %d) Теги: faq seo микроразметка google все равно никто не читает теги вопрос-ответ вопрос ответ ответы в выдаче вопросы в выдаче генерация faq faqpage json-ld микроданные микроданные shema.org автогенератор seo faqpage schema.org 0 коментарів 21 572 перегляди spectre 18 вересня 2020 [Поддержка] Правильные хлебные крошки Microdata schema.org - GOOGLE approved! Автор: OtezVikentiy, 19 вересня 2020 seo breadcumbs (і ще %d) Теги: seo breadcumbs breadcrumb хлебная крошка хлебрые крошки schema schema.org microdata 0 відповідей 860 переглядів OtezVikentiy 23 вересня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
niger Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 48 минут назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. на вскидку как-то так, согласен. Только я бы все же вынес это в отдельные методы в модели, получение минимальной и максимальной цены. Их можно успешно кешнуть и положить на недельку, а не с каждым заходом дергать запрос с кучей джоинов Ну и спец и дисконт цена - не нужна, гугл эти данные в сниппете не каждый день обновляет. и Вы еще забыли привести к формату min_price и max_price, как-то так вроде $data['maxPrice'] = $this->currency->format((float)$max_products['price'], $this->session->data['currency'],'',false); Но как быстрое решение и навскидку, согласен - это оно Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 7 грудня 2021 Share Опубліковано: 7 грудня 2021 Да согласен, это правильнее. Насчет приведения форматом - не знаю, по-моему там нужна именно float price. И наверное надо еще через tax прогонять, забыл.. Надіслати Поділитися на інших сайтах More sharing options... ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 1 час назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. Большое спасибо ) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
ukrmedsys Опубліковано: 7 грудня 2021 Автор Share Опубліковано: 7 грудня 2021 1 час назад, Prooksius сказал: Для получения мин и макс цен всех товаров категории придется постараться. Как-то так навскидку, в контроллере. // получение минимальной цены $filter_min_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'ASC', 'start' => 0, 'limit' => 1 ); $min_products = $this->model_catalog_product->getProducts($filter_min_data); if (!empty($min_products)) { $min_products = array_pop($min_products); if ((float)$min_products['special']) { $data['min_price'] = (float)$min_products['special']; } else { $data['min_price'] = (float)$min_products['price']; } } else { $data['min_price'] = 0; } // получение максимальной цены $filter_max_data = array( 'filter_category_id' => $category_id, 'sort' => 'p.price', 'order' => 'DESC', 'start' => 0, 'limit' => 1 ); $max_products = $this->model_catalog_product->getProducts($filter_max_data); if (!empty($max_products)) { $max_products = array_pop($max_products); if ((float)$max_products['special']) { $data['max_price'] = (float)$max_products['special']; } else { $data['max_price'] = (float)$max_products['price']; } } else { $data['max_price'] = 0; } P.S. Поправил.. Большое спасибо ) Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts