2014-02-10 2 views
0

Мне нужно изменить модуль поиска joomla3 для поиска 5 различных категорий поиска, там, где я изменил файл form.xml модуля и добавил пять переключателей, я хочу назначить конкретная категория идентификатор для этого радиокнопок из базы данных,Как пропустить идентификаторы категорий для joomla 3 cutom field

Здесь form.xml

 <field name="type" type="radio" 
      label="COM_BANNERS_FIELD_TYPE_LABEL" description="COM_BANNERS_FIELD_TYPE_DESC" 
      default="0" class="inputbox" 
      > 
     <option value="0">Classifields</option> 
     <option value="1">Company</option> 
     <option value="2">Government</option> 
     <option value="3">Religious</option> 
     <option value="4">Personal Names</option> 
    </field> 

Heres вид/TMPL/default.php

<form action="<?php echo JRoute::_(JomdirectoryHelperRoute::getCategoryRoute('')); ?>" method="post" name="jomdirectoryFormSearch" id="jomdirectoryFormSearch"> 


    <div class="control-group"> 

     <div class="controls1"> 
      <?= $form->getInput('type') ?> 
     </div> 

    </div> 

ответ

0

default.php вы не из модуля поиска Joomla. Это похоже на то, что называется JomDirectory. модуль поиска Joomla выглядит следующим образом:

https://github.com/joomla/joomla-cms/blob/staging/modules/mod_search/tmpl/default.php

Для присвоения значения идентификатора категории и получить их в форме вы бы на самом деле поставить идентификатор категории в стоимости опциона. Как это:

<field name="cat_id" type="radio" 
      label="COM_BANNERS_FIELD_TYPE_LABEL" description="COM_BANNERS_FIELD_TYPE_DESC" 
      default="0" class="inputbox" 
      > 
     <option value="58">Classifields</option> <!-- 58 is the category id --> 
     <option value="13">Company</option> <!-- 13 is the cat id --> 
     <option value="25">Government</option> <!-- etc --> 
     <option value="39">Religious</option> 
     <option value="47">Personal Names</option> 
    </field> 

Теперь, чтобы отправить эту категорию com_search (или любой другой компонент, который вы фактически используете), вы будете иметь, чтобы получить идентификатор категории из формы поста. В Joomla вы будете использовать JInput:

<?php 

$input = JFactory::getApplication()->getInput(); 
$catid = $input->getInt('cat_id'); 

?> 

Вам нужно вставить эту переменную $ cat_id в поисковом запросе, чтобы он возвращать эти результаты.

Несколько важных замечаний:

1) Не изменять ядро ​​Joomla. Вы могли бы выполнить работу с шаблоном. который сказал, что делать то, что вы хотите сделать, требует некоторых плагинов для изменения поискового запроса Joomla (таким образом, вы не изменяете код ядра)

2) Есть расширения, которые делают это правильно с помощью плагинов, которые вы могли бы просто установить и использовать : http://extensions.joomla.org/extensions/search-a-indexing/site-search/12819

+0

Я хочу получить идентификатор категории из базы данных, так как этот идентификатор категории не является классом from joomla, его из этого вызова компонентного вызова JomDirectory. Есть ли какой-либо poisiblity для получения id из таблицы базы данных для этого? – fdz

+1

Вместо использования раскрывающегося списка используйте тип SQL для вашего поля формы: http://docs.joomla.org/SQL_form_field_type –

+0

спасибо, есть ли возможность использовать это для флажка или переключателя, если да, то как это сделать – fdz

Смежные вопросы