Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

вывод популярных поисковых запросов


sergm87

Recommended Posts

есть ли готовоые решение чтобы под поиском выводились популярные запросы? как тут www.dhgate.com

Есть немного другое решение, которое можно запилить под это дело https://opencartforum.com/files/file/318-keyword-statistic-%D1%81%D0%B1%D0%BE%D1%80-%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2/

Я так думаю.

Надіслати
Поділитися на інших сайтах

релизовал сам. может кому пригодится:

1. создаем таблицу search в базе данных поля id (INT), words (VARCHAR), nums(INT)

2. идет в catalog/model/product.php

вставляем две функции

public function GetSearchWords($limit)
{

  $sql="Select * from search ORDER BY nums DESC LIMIT ".$limit;
	
   $query = $this->db->query($sql);
  $search_data = $query->rows;
  
  
  
 
  return $search_data;
}
public function updateSearchWords($words) {

  $numwords=mysql_fetch_array(mysql_query("SELECT * FROM ". DB_PREFIX ."search where words like '%".$words."%'"));
  $numswords=$numwords['nums'];
if ($numswords==0)
{
$this->db->query("INSERT into " . DB_PREFIX . "search (`words`,`nums`) VALUES ('".$words."','1')");
}
else {
$this->db->query("UPDATE " . DB_PREFIX . "search SET nums = (nums + 1) WHERE words like '%".$words."%'");
}}

заходим в контроллер поиска catalog/controller/product/search.php

ищем такую строчку - $product_total = $this->model_catalog_product->getTotalProducts($data);

после нее вставляем - $this->model_catalog_product->updateSearchWords($filter_name);

тут у нас будет заносится статистика по запросам в базу.

теперь нужно вывести популярные запросы.

заходим в контроллер хидера. после строчки $this->load->model('catalog/product');

вставляем код:

$searches = $this->model_catalog_product->GetSearchWords(7);
  foreach ($searches  as $serachwords) {
  $this->data['serachwords'][] = array(
	 'name'	 => $serachwords['words'],
	 'href'	 => 'index.php?route=product/search&filter_name=' . $serachwords['words'],
    );
 
  }

теперь осталось вывести их в шаблоне хидера вашей темы. (header.tpl), вставляем это в нужное место -

<div class="swords">  Популярные запросы
    <?php foreach ($serachwords as $swords) { ?>
				    <a href="<?php echo $swords['href']; ?>" ><?php echo $swords['name']; ?></a>
				  <?  } ?>
				    </div>

будут выводится самые популярные запросы. при нажатии на слово будет переходить на страницу результата его поиска

Надіслати
Поділитися на інших сайтах


релизовал сам. может кому пригодится:

1. создаем таблицу search в базе данных поля id (INT), words (VARCHAR), nums(INT)

2. идет в catalog/model/product.php

вставляем две функции

  $numwords=mysql_fetch_array(mysql_query("SELECT * FROM ". DB_PREFIX ."search where words like '%".$words."%'"));

будут выводится самые популярные запросы. при нажатии на слово будет переходить на страницу результата его поиска

будет находка для злоумышленника, вы бы сперва с движком разобрались

Надіслати
Поділитися на інших сайтах

будет находка для злоумышленника, вы бы сперва с движком разобрались

в смысле? передается переменная $filter_name которую обрабатывает opencart от инъекций
Надіслати
Поділитися на інших сайтах


  • 1 year later...
  • 10 months later...

есть ли готовоые решение чтобы под поиском выводились популярные запросы? как тут www.dhgate.com

 

А есть что то как на подобии история поиска как на aukro.ua ?

 

Теперь для этого всего есть отдельный модуль.

https://opencartforum.com/files/file/1962-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D1%8B%D1%85-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE/

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.