Доброе утро, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS | Техническая помощь
         Помогите с поиском

Похожие темы  |  Печать страницы

Помогите с поиском


События Понедельник, 31.01.2011, 10:35

SX

Группа: Администратор
Cообщений: 2884
Регистрация: 23.10.2009
Что бы такое сделать нужно модернизировать скрипт.
Как я вижу это делается так. Возьмем к примеру раздел ссылок.
В шаблон search.tpl нужно добавить радиобатон с выбором ищем по всем разделам или по текущему.

Оригинал

PHP-код
<!-- Start id_0121 CMS Status--->
<
div class="infobox">
  <
form method="post" action="/index.php?p=links&amp;area={$area}&amp;action=search">
    <
input type="text" name="ql" style="width:200px" value="{$smarty.request.ql|default:''|sysspecialchars|replace:'-':''}class="input" />&nbsp;
    <
input type="submit" class="button" value="{#Search#}" />
  </
form>
</
div>
<!-- 
End id_0121 CMS Status--->


С добавлением

PHP-код
<!-- Start id_0121 CMS Status--->
<
div class="infobox">
  <
form method="post" action="/index.php?p=links&amp;area={$area}&amp;action=search">
    <
input type="text" name="ql" style="width:200px" value="{$smarty.request.ql|default:''|sysspecialchars|replace:'-':''}class="input" />&nbsp;
    
      {if 
$smarty.request.categ != ''}
      <
input type="radio" name="SelCateg" value="1" />Искать в текущей категории</label>
      <
input type="radio" name="SelCateg" value="0" checked="checked" />Искать во всех категориях</label>
      {/if}
    
    <
input type="submit" class="button" value="{#Search#}" />
  </
form>
</
div>
<!-- 
End id_0121 CMS Status--->


Далее модернизируем функцию SearchLinks() в классе Class.Links.php,

Оригинал

PHP-код
        $entries = array();
        
$check DB::getDB()->Cache_Fetch_Object("SELECT COUNT(Id) AS ResCount FROM " PREFIX "_links WHERE Aktiv='1' AND ((Name_{$this->Lc} LIKE '%{$Search}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search}%') OR (Name_{$this->Lc} LIKE '%{$Search2}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search2}%')) AND Sektion = '" AREA "' ORDER BY Name_{$this->Lc} ASC");
        
$num $check->ResCount;
        
$limit Core::getLim(System::ModulSet('links''PageLimit'));
        
$seiten ceil($num $limit);
        
$a Func::prepage() * $limit $limit;
        
$query_items DB::getDB()->Query("SELECT *, Kategorie, Name_{$this->Lc} AS Name, Beschreibung_{$this->Lc} AS Beschreibung FROM " PREFIX "_links WHERE Aktiv='1' AND ((Name_{$this->Lc} LIKE '%{$Search}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search}%') OR (Name_{$this->Lc} LIKE '%{$Search2}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search2}%')) AND Sektion = '" AREA "' ORDER BY Name_{$this->Lc} ASC LIMIT $a$limit");


С добавлением

PHP-код
        if (isset($_REQUEST['SelCateg']) && $_REQUEST['SelCateg'] == && !empty($_REQUEST['categ'])) {
            
$SelCateg " AND Kategorie = '" s($_REQUEST['categ'], 'i') . "' ";
        } else {
            
$SelCateg '';
        }

        
$entries = array();
        
$check DB::getDB()->Cache_Fetch_Object("SELECT COUNT(Id) AS ResCount FROM " PREFIX "_links WHERE Aktiv='1' " $SelCateg " AND ((Name_{$this->Lc} LIKE '%{$Search}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search}%') OR (Name_{$this->Lc} LIKE '%{$Search2}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search2}%')) AND Sektion = '" AREA "' ORDER BY Name_{$this->Lc} ASC");
        
$num $check->ResCount;
        
$limit Core::getLim(System::ModulSet('links''PageLimit'));
        
$seiten ceil($num $limit);
        
$a Func::prepage() * $limit $limit;
        
$query_items DB::getDB()->Query("SELECT *, Kategorie, Name_{$this->Lc} AS Name, Beschreibung_{$this->Lc} AS Beschreibung FROM " PREFIX "_links WHERE Aktiv='1' " $SelCateg " AND ((Name_{$this->Lc} LIKE '%{$Search}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search}%') OR (Name_{$this->Lc} LIKE '%{$Search2}%' OR Beschreibung_{$this->Lc} LIKE '%{$Search2}%')) AND Sektion = '" AREA "' ORDER BY Name_{$this->Lc} ASC LIMIT $a$limit");


Пробуйте должно работать, сам я не проверял, оформление радиобатона также не делал, добавил как пример




Пользователь офлайн


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 1

Поисковые боты: 60
oBot(24), BingBot(3), Bot(27), Googlebot(3), Inktomi Slurp, Crawler, Yandex
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: Stastat
 Дни рождения

shakirovrim (35), visis (32)
Печать | Copyright © 2009 - 2017 SX All rights reserved | Powered by SX CMS 1.05 | Контакты