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

Как вывести цену товара в результате поиска?

  • Posts: 4
  • Thank you received: 0
8 years 8 months ago #210007

-- HikaShop version -- : 2.4.0
-- Joomla version -- : 3.3.6
-- PHP version -- : 5.5.19
-- Error-message(debug-mod must be tuned on) -- : Не могу вывести цену товара.

Включил модуль Поиска Joomla. Подключил плагин Hikashop Search Products Plugin. Проблема в том, что не могу вывести в результатах поиска цену товара и рейтинг (звездочки).
Пытался делать в файле hikashop_products.php (который лежит в папке plugins\search\hikashop_products\), однако не получилось. Я так понимаю, что необходимо обратится к БД к таблице hikashop_price. А затем в файле default_results (из папки search) вывести это значение. PHP я только начал изучать.
Может кто подскажет, как правильно обратится к БД. Или как решить эту задачу?

Заранее спасибо.

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

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
8 years 8 months ago #210158

Hi,

The search system of Joomla doesn't handle such possibility.
The solution would be to use instead the filter system of HikaShop which will use a standard HikaShop products listing in order to display the search results and thus will be able to display the votes, etc automatically without any code change.
You can read more about the filter system here:
www.hikashop.com/support/support/documen...-filter-listing.html

Please post in English in the English section of our forum if you want a reply from us. We do not monitor the Russian forum and don't speak Russian.

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

  • Posts: 2293
  • Thank you received: 315
8 years 8 months ago #210181

смотрим все совсем не там...

Вам нужен файл /templates/ваш шаблон/html/com_search/search/default_result.php

Там все можно поправить.




ОБычно переменная $result->id в этом месте содержит id найденного товара.
А через id товара можно получить все его характеристики, в том числе и цену.

If you want to load a product from the database, you can do like that :

$productClass = hikashop_get('class.product');

$product=$productClass->get($product_id);

www.hikashop.com/support/support/documen...umentation.html#code


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

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

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

  • Posts: 4
  • Thank you received: 0
8 years 8 months ago #210316

Спасибо большое за подсказку)
А Вы можете помочь сформировать правильный запрос. Как я понял, мне необходимо взять значение "price_value" из таблицы "hikashop_price".
Только почему-то не получается вывести цену.

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

  • Posts: 2293
  • Thank you received: 315
8 years 8 months ago #210386

if (isset($result->product_name)) {
					$productClass = hikashop_get('class.product');

					$product=$productClass->get($result->id);

					$query = 'SELECT * FROM '.hikashop_table('price').' WHERE price_product_id IN ('.$result->id.')';
					$productClass->database->setQuery($query);
					$prices = $productClass->database->loadObjectList();
					echo($prices[0]->price_value);
				};


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

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

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

  • Posts: 2293
  • Thank you received: 315
8 years 8 months ago #210388

этот код написан в предположении что переменная $result - содержит текущий найденный продукт.
Отличие продуктов от категорий и остальных элементов происходит по наличию поля product_name.

Округление цены до нужного значения думаю сами сумеете сделать.
Берется именно первая цена продукта. Если цен у продукта несколько, то тогда сами выбирайте уже что вам там нужно


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

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

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

  • Posts: 2293
  • Thank you received: 315
8 years 8 months ago #210485

более правильный код, который подсказал Николас (мой тоже работает, но этот учитывает валюту и налоги):

$config =& hikashop_config();
		$currencyClass = hikashop_get('class.currency');
		$main_currency = $currency_id = (int)$config->get('main_currency',1);
	 	$zone_id = explode(',',$config->get('main_tax_zone',0));

		if(count($zone_id)){
			$zone_id = array_shift($zone_id);
		}else{
			$zone_id=0;
		}
		$ids = array($product->product_id);
		$discount_before_tax = (int)$config->get('discount_before_tax',0);
		$currencyClass->getPrices($product,$ids,$currency_id,$main_currency,$zone_id,$discount_before_tax);


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

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

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

  • Posts: 4
  • Thank you received: 0
8 years 8 months ago #210744

Спасибо большое!)
Ваш код срабатывает на "Ура!". А вот Николаса почему то не работает.
У меня выводит валюту в изначально поставленной (по дефолту $ стоит). А отображаю я валюту в гривне по курсу, который сам задаю.
Как бы этот момент реализовать? (то есть, в админке в товаре цена в $, а на пользовательской части в грн)

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

  • Posts: 2293
  • Thank you received: 315
8 years 8 months ago #210790

у николаса учтены все варианты.
Поэтому он видимо выводит цену в долларах.
Ну там уже надо с параметрами играться. Честно говоря это затратно по времени.
Используйте операторы var_dump(); и die();
для того чтобы посмотреть в нужном месте содержимое переменных и понять какие вам нужны.

p.s. в идеале вам нужно ставить отладчик и смотреть с его помощью. Я обычно так делаю.
Поднимаю на локалке сайт и смотрю


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

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

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

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