Skip to main content
Здесь вы можете свободно общаться на русском языке. Просим отнестись с пониманием к тому, что мы не разговариваем на этом языке и не можем осуществлять поддержку на нем.

Поиск товаров

More
9 years 2 months ago #273076 by ipugach
Всем привет!
Только поставил хикашоп, пока все норм. Но, хочу сделать поиск товаров. Сделал поиск через стандартный модуль джумла - работает.
Вот только выводить просто список товаров, а хотелось бы чтоб выводил товары как в категории (рамка, картинка, стоимость, название, ...), как это сделать не пойму. Помогите кто делал такое.

Please Log in or Create an account to join the conversation.

More
9 years 2 months ago - 9 years 2 months ago #273077 by progreccor
нужно переопределять шаблон вывода поиска.
каждый его переопределяет под свой шаблон и по своему.
готовых рекомендаций нет.

переопределять надо вот этот файл


Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!
Last edit: 9 years 2 months ago by progreccor.
The following user(s) said Thank You: ipugach

Please Log in or Create an account to join the conversation.

More
9 years 2 months ago #273224 by ipugach
Replied by ipugach on topic Поиск товаров
Спасибо! Разобрался, получается.
Но есть одна заминка, не могу получить цену товара.
print_r($result); выводит только это:

stdClass Object (
[id] => 15
[product_name] => Паровой котел "Е-1.6-0.9" ГМН
[product_alias] => parovoj-kotel-e-1-6-0-9
[product_canonical] =>
[created] => 27 июня 2017
[product_description] => Технические характеристики паровых водотрубных котлов
[browsernav] => 2
[product_type] => main
[product_parent_id] => 0
[category_id] => 13
[alias] => parovoj-kotel-e-1-6-0-9
[title] => Паровой котел "Е-1.6-0.9" ГМН
[text] => Технические характеристики паровых водотрубных котлов Наименование показателя Е-1,6-0,9 ГМН газ Е-1,6-0,9 ГМН мазут Рабочее давление пара не выходе, МПа (кгс/см²), не менее 0,8 (8,0) ...
[href] => https://shop/product/15-parovoj-kotel-e-1-6-0-9.html
[section] => Товар
[image] => /images/com_hikashop/upload/thumbnails/150x150f/e16.png
[count] => 10 )

а здесь нет цены. Подскажите, как получить цену?

Please Log in or Create an account to join the conversation.

More
9 years 2 months ago #273232 by progreccor
для того надо получить полный объект товара по его ID.
по аналогии с кодом который есть в выводе шаблона товара.
Много полезной информации есть вот здесь
www.hikashop.com/support/documentation/6...r-documentation.html

Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!

Please Log in or Create an account to join the conversation.

More
9 years 2 months ago #273279 by ipugach
Replied by ipugach on topic Поиск товаров

progreccor wrote: для того надо получить полный объект товара по его ID.
по аналогии с кодом который есть в выводе шаблона товара.

А вот тут поподробней, и если можно пример. Я ведь только начинаю.
За инфу отдельное спасибо, буду разбираться.

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307460 by abr-ya
Replied by abr-ya on topic Поиск товаров
Подниму тему, т.к. мне кажется, вопрос похожий.
Я получаю товар следующим образом:
$productClass = hikashop_get('class.product');
$product_id = 1;
$product=$productClass->get($product_id);

Но в массиве нет сведений об изображениях.
А они нужны.
Подскажите, пожалуйста: как их получить?

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307465 by kyratn
Replied by kyratn on topic Поиск товаров
Paprobuiti tak:
Code:
<?php $imageHelper = hikashop_get('helper.image'); $width = (int)$this->config->get('cart_thumbnail_x', 100); $height = (int)$this->config->get('cart_thumbnail_y', 145); $image_options = array( 'default' => true, 'forcesize' => $this->config->get('image_force_size', true), 'scale' => $this->config->get('image_scale_mode','inside') ); $image_path = (!empty($product->images) ? @$product->images[0]->file_path : ''); $img = $imageHelper->getThumbnail($image_path, array('width' => $width, 'height' => $height), $image_options); if($img->success) { echo '<img class="img-responsive" title="'.$this->escape(@$product->images[0]->file_description).'" alt="'.$this->escape(@$product->images[0]->file_name).'" src="'.$img->url.'"/>'; }?>

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307468 by abr-ya
Replied by abr-ya on topic Поиск товаров
Выводит картинку, которая для товаров, у которых нет изображений.
Меня беспокоит то, что в объекте $product после выполнения моего запроса у меня нет [images].

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307471 by kyratn
Replied by kyratn on topic Поиск товаров
Hmm, naverno nado delat "load full product" no nepatskazu kak eto delaetsa patomusta nepomniu....

Idintsvinoje sto prislo v golavu tak vot eto:
Code:
<?php $db = JFactory::getDbo(); $sql = 'SELECT file_path FROM '.hikashop_table('file').' WHERE file_type="product" AND file_ref_id='.$product_id; $db->setQuery($sql); $path = $db->loadObjectList(); if($path) $img = $this->imageHelper->getThumbnail(@$path[0]->file_path, array(45, 65), array('default' => true, 'forcesize' => true, 'scale' => 'outside')); if($img->success) { echo '<img class="img-responsive" title="'.$this->escape(@$path[0]->file_description).'" alt="'.$this->escape(@$path[0]->file_name).'" src="'.$img->url.'"/>'; }?>

Dalzno rabotat!
The following user(s) said Thank You: abr-ya

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago - 7 years 3 months ago #307475 by abr-ya
Replied by abr-ya on topic Поиск товаров
kyratn, cпасибо!
Похоже зря я в тему с поиском влез со своим вопросом!
Сначала мне показалось, что он похож.
На самом деле я на странице товара пытался вывести связанные товары, но с картинками. А в объекте товара картинок нет. Хотел получить картинки товара по ID товара, но и это не дало результата. Тогда начал искать, и нашел эту тему...

Пойду ещё раз изучать форум с точки зрения структуры и того, где задавать новичковые, но не самые популярные, судя по результатам поиска, вопросы!
Last edit: 7 years 3 months ago by abr-ya.

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307489 by progreccor
1. что касается поиска - в хикашоп используется фильтр в качестве текстового поиска.
в этом случае выводятся карточки товара. Традиционный поиск джумла обычно не используется.
2. для получения изображений используйте средства отладки php чтобы увидеть весь объект

Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago - 7 years 3 months ago #307502 by abr-ya
Replied by abr-ya on topic Поиск товаров
progreccor, спасибо за ответ!
Кажется, мой вопрос все-таки не про поиск, но по второй части.
Я вывожу на страницу весь объект товара, но там нет изображений:
$productClass = hikashop_get('class.product');
$product_id = 1;
$product = $productClass->get($product_id);
print_r($product);

Подскажите, что я делаю не так?

UPD:
Разобрался немного с прямыми обращениями к БД.
Получаю массив изображений следующим образом:
$db =& JFactory::getDBO();
if (!$db->connected()) {
echo "Нет соединения с сервером баз данных";
jexit();
} else {
$sql = "SELECT * FROM pre_hikashop_file WHERE file_ref_id = '1'";
$db->setQuery($sql);
$data_row = $db->loadAssocList();
print_r($data_row);
}

В результате получаю массив, описывающий изображения товара. Насколько я понимаю, аналогично можно и с категорией поступить.
Но интересно: может задача решается штатными средствами?
Last edit: 7 years 3 months ago by abr-ya.

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307504 by progreccor

Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago - 7 years 3 months ago #307505 by progreccor
вот переопределение вывода поиска вместе с изображениями для хика
Code:
<?php /** * @package Warp Theme Framework * @author YOOtheme http://www.yootheme.com * @copyright Copyright (C) YOOtheme GmbH * @license http://www.gnu.org/licenses/gpl.html GNU/GPL */ // no direct access defined('_JEXEC') or die; echo ("<div class='tm-search-results'>"); foreach ($this->results as $result) { if(!empty($result->category_id)) { $productClass = hikashop_get('class.category'); $category = $productClass->get($result->category_id); $r=(' "'.$category->category_name).'"'; } else { if ($result->section) $r= $this->escape($result->section); } $args = array( 'permalink' => '', 'image' => ($result->image) ? $result->image : '', 'image_alignment' => 'right', 'image_alt' => '', 'image_caption' => '', 'title' => $result->title, 'title_link' => '1', 'author' => '', 'author_url' => '', 'date' => '', 'datetime' => '', 'category' => ($r) ? $this->escape($r) : '', 'category_url' => '', 'hook_aftertitle' => '', 'hook_beforearticle' => '', 'hook_afterarticle' => '', 'article' => $result->text, 'tags' => '', 'edit' => '', 'url' => ($result->href) ? JRoute::_($result->href) : '', 'more' => 'ПЕРЕЙТИ', 'previous' => '', 'next' => '' ); // Render template echo ("<hr />".$warp['template']->render('article', $args)); } echo ("</div>"); echo $this->pagination->getPagesLinks();

Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!
Last edit: 7 years 3 months ago by progreccor.

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307534 by kyratn
Replied by kyratn on topic Поиск товаров

abr-ya wrote: $product = $productClass->get($product_id);


Eto:
Code:
$product = $productClass->get($product_id);

Pamineitsi na eto:
Code:
$product = $productClass->getProduct($product_id);

I budet rabotat.

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago - 7 years 3 months ago #307552 by abr-ya
Replied by abr-ya on topic Поиск товаров

progreccor wrote: здесь читали?
www.hikashop.com/support/documentation/6...r-documentation.html

По ссылке ходил, листал, пытался понять.
Может подскажете примерный алгоритм изучения данной страницы?
Мне показалось, что там сплошные обработчики событий, а мне нужно несколько другое - это как-то сбило.
Или я не так понял что-то?
Last edit: 7 years 3 months ago by abr-ya.

Please Log in or Create an account to join the conversation.

More
7 years 3 months ago #307553 by abr-ya
Replied by abr-ya on topic Поиск товаров

kyratn wrote: Eto:
Pamineitsi na eto:
I budet rabotat.


Спасибо большое!!! Именно то, что надо!!!

Please Log in or Create an account to join the conversation.

More
7 years 2 months ago #308216 by abr-ya
Replied by abr-ya on topic Поиск товаров
И снова у меня вопрос в продолжение темы.
Изображения есть - отлично!
А что сделать, чтобы работать с их превьюшками, примерно так:
$img = $this->image->getThumbnail(
$item->file_path,
array('width' => $this->image->main_thumbnail_x, 'height' => $this->image->main_thumbnail_y),
array('default' => true,'forcesize'=>$this->config->get('image_force_size',true),'scale'=>$this->config->get('image_scale_mode','inside'))
);
$img = $img->url;
?

Please Log in or Create an account to join the conversation.

More
6 years 7 months ago #315328 by Enemy
Replied by Enemy on topic Поиск товаров

progreccor wrote: вот переопределение вывода поиска вместе с изображениями для хика

Code:
<?php /** * @package Warp Theme Framework * @author YOOtheme http://www.yootheme.com * @copyright Copyright (C) YOOtheme GmbH * @license http://www.gnu.org/licenses/gpl.html GNU/GPL */ // no direct access defined('_JEXEC') or die; echo ("<div class='tm-search-results'>"); foreach ($this->results as $result) { if(!empty($result->category_id)) { $productClass = hikashop_get('class.category'); $category = $productClass->get($result->category_id); $r=(' "'.$category->category_name).'"'; } else { if ($result->section) $r= $this->escape($result->section); } $args = array( 'permalink' => '', 'image' => ($result->image) ? $result->image : '', 'image_alignment' => 'right', 'image_alt' => '', 'image_caption' => '', 'title' => $result->title, 'title_link' => '1', 'author' => '', 'author_url' => '', 'date' => '', 'datetime' => '', 'category' => ($r) ? $this->escape($r) : '', 'category_url' => '', 'hook_aftertitle' => '', 'hook_beforearticle' => '', 'hook_afterarticle' => '', 'article' => $result->text, 'tags' => '', 'edit' => '', 'url' => ($result->href) ? JRoute::_($result->href) : '', 'more' => 'ПЕРЕЙТИ', 'previous' => '', 'next' => '' ); // Render template echo ("<hr />".$warp['template']->render('article', $args)); } echo ("</div>"); echo $this->pagination->getPagesLinks();


Приветствую. Не работает, где смотреть?:unsure:

Please Log in or Create an account to join the conversation.

More
6 years 7 months ago #315330 by progreccor
в логах наверное

Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!

Please Log in or Create an account to join the conversation.

Moderators: progreccor
Time to create page: 0.426 seconds
Powered by Kunena Forum