Модуль поиск

#
Модуль поиск
Подскажите пожалуйста как можно включить в XML поиска текст элемента, конкретнее текст товара и изображения товара?
Делаю то благодаря чему, несмотря ни на что
Модератор
#
Re: Модуль поиск
в теге search_page есть дочерние элементы соответствующего типа, из которых Вы можете взять информацию.
#
Re: Модуль поиск
Текст вывел, проблема вывести картинку
Вызываю так
<img src="{shop_item}{dir}{image_small}" class="image" width="300" />

XML
<shop_item id="383928">
         <shortcut_id>0</shortcut_id>
         <shop_tax_id>0</shop_tax_id>
         <shop_seller_id>0</shop_seller_id>
         <shop_group_id>639</shop_group_id>
         <shop_currency_id>0</shop_currency_id>
         <shop_id>3</shop_id>
         <shop_producer_id>0</shop_producer_id>
         <shop_measure_id>0</shop_measure_id>
         <type>0</type>
         <name>Auction 87 (08.12.2010)</name>
         <marking></marking>
         <vendorcode></vendorcode>
         <description></description>
         <text>EUROPA UND UBERSEE&lt;br&gt;Deutschland nach 1871&lt;br&gt;Friedrich III. 1888&lt;br&gt;(B) Friedrich III. 1888 10 Mark 1888 A (3,98 g)- J:247&lt;br&gt;Gold vzgl.</text>
         <image_large>shop_items_catalog_image383928.jpg</image_large>
         <image_small>small_shop_items_catalog_image383928.jpg</image_small>
         <weight>0.00</weight>
         <active>1</active>
         <siteuser_group_id>-1</siteuser_group_id>
         <sorting>0</sorting>
         <path>item_383928</path>
         <seo_title></seo_title>
         <seo_description></seo_description>
         <seo_keywords></seo_keywords>
         <indexing>1</indexing>
         <image_small_height>147</image_small_height>
         <image_small_width>300</image_small_width>
         <image_large_height>406</image_large_height>
         <image_large_width>828</image_large_width>
         <yandex_market>1</yandex_market>
         <rambler_pokupki>1</rambler_pokupki>
         <yandex_market_bid>0</yandex_market_bid>
         <yandex_market_cid>0</yandex_market_cid>
         <yandex_market_sales_notes></yandex_market_sales_notes>
         <user_id>19</user_id>
         <siteuser_id>0</siteuser_id>
         <modification_id>0</modification_id>
         <guid>43AAFEBA-A6DD-B3C1-7C84-D76D687F44BF</guid>
         <showed>0</showed>
         <deleted>0</deleted>
         <url>group_639/item_383928/</url>
         <date>30.11.-1</date>
         <datetime>30.11.-1 00:00:00</datetime>
         <start_datetime>0000-00-00 00:00:00</start_datetime>
         <end_datetime>0000-00-00 00:00:00</end_datetime>
         <dir>/upload/shop_3/3/8/3/item_383928/</dir>
         <rest>0</rest>
         <price>0.00</price>
         <discount>0</discount>
         <tax>0.00</tax>
         <price_tax>0.00</price_tax>
         <comments_count>0</comments_count>
         <comments_grade_sum>0</comments_grade_sum>
         <comments_grade_count>0</comments_grade_count>
         <comments_average_grade>0</comments_average_grade>
         <property_value id="284351">
            <property_id>26</property_id>
            <entity_id>383928</entity_id>
            <value>2524</value>
            <tag_name>lita</tag_name>
         </property_value>
         <property_value id="847648">
            <property_id>27</property_id>
            <entity_id>383928</entity_id>
            <value>170 EUR (~227 USD)</value>
            <tag_name>pricee</tag_name>
         </property_value>
      </shop_item>
Делаю то благодаря чему, несмотря ни на что
Модератор
#
Re: Модуль поиск
<img src="{shop_item/dir}{shop_item/image_small}" class="image" width="300" />
#
Re: Модуль поиск
Меня интересуют два вопроса по поиску
1)Как осуществлять поиск только по товарам (исключить надо поиск по каталогам инэт-магазина)
2)Поиск не ищет по спрятанным в кавычки словам и фразам, например у меня есть товар который называется: Новый товар "name", так вот по слову "name" поиск ничего не даст - а вот если бы было без кавычек (Новый товар name)- то все нормально. Можно ли это как-то исправить?
#
Re: Модуль поиск
В дополнение ко второму пункту замечу, что от кавычек ни чего не зависит, просто некоторые товары ищет а некоторые нет, с чем может быть связано? Группы и товары индексируются (галочка стоит).
#
Re: Модуль поиск
И скажите, может ли помочь такой код:
Цитата:

$Search_Controller_Show->module(
array(
3 ≥ array('module_id' ≥ 1, 'module_value_type' ≥ 2))
);


Для ограничения поиска только товарами магазина. Здесь
3 — это модуль по которому осуществляется поиск (инет магазин)
1 — это id магазина
2 — товары магазина 1
Куда вставляем это, в ТДС

А в остальном..., надо было просто переиндексировать, чтоб все искалось хорошо
Модератор
#
Re: Модуль поиск
antracit,
Искать только по магазину с номером 17 (добавляете условие в типовую дин. страницу перед show())
$Search_Controller_Show->modules(
      array(
      3 => array (17)
   )
);

Поиск только по товарам магазина 17 (в Ваше примере ошибка - не хватает одного array):
$Search_Controller_Show->modules(
      array(
      3 => array (array('module_id' => 17, 'module_value_type' => 2))
   )
);
что касается ищет - не ищет, выполните переиндексаию, проверьте установку флагов индексировать на товары, которые не ищутся.
#
Re: Модуль поиск
HostCMS _ спасибо, к моменту когда я догадался что надо переиндексацию сделать, сообщение нельзя было править. А вообще всем рекомендую делать переиндексацию, дабы выдача всегда была чистой и актуальной, как у меня теперь
А вот по поводу поиска только по товарам я так не разобрался пробовал и так сделатьЦитата:
<?php

if (Core::moduleIsActive('search')
{
   $oSite = Core_Entity::factory('Site', CURRENT_SITE);
   
   $Search_Controller_Show = new Search_Controller_Show($oSite);

   $Search_Controller_Show
      ->limit(Core_Page::instance()->libParams['itemsOnPage'])
      ->parseUrl()
      ->len(Core_Page::instance()->libParams['maxlen'])
      ->query(Core_Array::getGet('text')
      ->structure(Core_Page::instance()->structure);


   $Search_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl'->getByName(Core_Page::instance()->libParams['xsl'])
   );

$Search_Controller_Show->module(
      array(
      3 => array (array('module_id' => 1, 'module_value_type' => 2))
   )
);

$Search_Controller_Show
->show();
}

и вот так:Цитата:
$Search_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl'->getByName(Core_Page::instance()->libParams['xsl'])
   )
->module(
      array(
      3 => array (array('module_id' => 1, 'module_value_type' => 2))
   )
->show();
}
и много еще как, но ошибки выдаются Помогите, скажите где косяк?
#
Re: Модуль поиск
antracit,
нужно писать


$Search_Controller_Show->modules(
       array(
       3 => array (array('module_id' => 1, 'module_value_type' => 2))
    )
);
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Авторизация