Форум русской поддержки Joomla!® CMS
06.12.2016, 20:04:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывод фильтра в компоненте

 (Прочитано 383 раз)
0 Пользователей и 1 Гость смотрят эту тему.
baskethome
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« : 09.03.2015, 04:20:19 »

Не получается вывести фильтр, поле выводит, а в option нет данных. Пусто. Что не так делаю?

components/com_tw/views/products/default.php
Код:
<fieldset id="filter-bar">
<div class="filter-select fltrt">
<select name="filter.razdel_id" class="inputbox" onchange="this.form.submit()">
 <option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY');?></option>
 <?php echo JHtml::_('select.options', JHtml::_('category.options', 'com_tw'), 'value', 'text', $this->filter.razdel_id); ?>
</select>
</div>
</fieldset>

components/com_tw/models/products.php
Код:
protected function getListQuery(){
$db = $this->getDbo();
$query = $db->getQuery(true);

// Select the required fields from the table.
$query->select(
$this->getState(
'list.select',
'a.sort, a.name, a.alias, a.img_product, a.brand, a.category, a.description, a.published, a.checked_out, a.checked_out_time, a.ordering, a.id'
)
);
$query->from($db->quoteName('#__tw_products').' AS a');

// Join over the Brands.
$query->select('brand.name AS brand_title, brand.id AS brand_id');
$query->join('LEFT', '#__tw_brand AS brand ON brand.id = a.brand');

// Filter by Brand.
$brandId = $this->getState('filter.brand_id');
if (is_numeric($brandId)){
$query->where('a.brand = '.(int) $brandId);
}

// Join over the Razdels.
$query->select('razdels.name AS razdel_title, razdels.id AS razdel_id');
$query->join('LEFT', '#__tw_razdels AS razdels ON razdels.id = a.category');

// Filter by Razdel.
$razdelId = $this->getState('filter.razdel_id');
if (is_numeric($razdelId)){
$query->where('a.category = '.(int) $razdelId);
}
.......................
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #1 : 09.03.2015, 11:10:54 »

Категории для компонента созданы?
Записан
baskethome
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #2 : 09.03.2015, 11:15:16 »

да
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #3 : 09.03.2015, 11:23:29 »

Ммм, тогда чудеса. У меня такой же код и нет проблем с выводом:

Код
<div class="btn-group pull-right hidden-phone">
<select name="filter[categoryId]" onchange="this.form.submit()">
<option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY'); ?></option>
<?php echo JHtml::_(
'select.options',
JHtml::_('category.options', 'com_competition'), 'value', 'text', $this->state->get('filter.categoryId')
); ?>
</select>
</div>
Записан
baskethome
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #4 : 09.03.2015, 11:30:24 »

мне кажется, что-то в defaulte  не дописано

весь код
Код:
<?php

// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>"><h2><?php echo $this->params->get('page_title');  ?></h2></div>
<div><h4><?php echo JText::_('COM_TW_PRODUCTS_VIEW_DEFAULT_PAGE_DESC'); ?></h4></div>


<div class="btn-group pull-right hidden-phone">
<select name="filter[category_id]" onchange="this.form.submit()">
<option value=""><?php echo JText::_('JOPTION_SELECT_CATEGORY'); ?></option>
<?php echo JHtml::_(
'select.options',
JHtml::_('category.options', 'com_tw'), 'value', 'text', $this->state->get('filter.category_id')
); ?>
</select>
</div>

<table class="table table-condensed table-hover">
<thead>
<tr>

<th>Sort</th>
<th>Name</th>
<th>Alias</th>
<th>Img Product</th>
<th>Brand</th>
<th>Category</th>
<th>Description</th>
<th>Published</th>
<th>Checked Out</th>
<th>Checked Out Time</th>
<th>Ordering</th>
<th>Id</th>

</tr>
</thead>
<tbody>
<?php
foreach($this->items as $item){ ?>
<tr>

<td><?php echo $item->sort; ?></td>
<td><a href="index.php?option=com_tw&view=products&id=<?php echo $item->id; ?>"><?php echo $item->name.((isset($item->category_id) && isset($item->params) && $item->category_id and $item->params->get('show_category'))? (' ('.$item->category_id.')') : '');  ?></a></td>
<td><?php echo $item->alias; ?></td>
<td><?php echo $item->img_product; ?></td>
<td><?php echo $item->brand; ?></td>
<td><?php echo $item->category; ?></td>
<td><?php echo $item->description; ?></td>
<td><?php echo $item->published; ?></td>
<td><?php echo $item->checked_out; ?></td>
<td><?php echo $item->checked_out_time; ?></td>
<td><?php echo $item->ordering; ?></td>
<td><?php echo $item->id; ?></td>

</tr>
<?php } ?>
</tbody>
</table>
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #5 : 09.03.2015, 11:33:19 »

Вы с меня код не копируйте - у Вас фильтр не будет рабоать, так у меня другой name и по другому организована работа.
Самая важная часть в принципе вот эта:
Код
JHtml::_('category.options', 'com_tw')

Именно этот код выводит список категорий. Почему у Вас не выводит загадка. Вы точно используете встроенные в Joomla категории и можете ими управлять из своего компонента?
Записан
baskethome
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #6 : 09.03.2015, 11:37:56 »

категории в компоненте, не в материалах Joomla. Или я Неправильно Вас понял
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #7 : 09.03.2015, 13:08:56 »

категории в компоненте, не в материалах Joomla. Или я Неправильно Вас понял
Категории Joomla можно использовать в своем компоненте. Если у Вас свои, то Вам не подходит JHtml::_('category.options', 'com_tw')
Записан
baskethome
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #8 : 09.03.2015, 14:42:00 »

Подскажите, а что должно быть тогда?
Или хотя бы ссылка может есть на пример или урок, весь вечер гуглил, все только для virtu. Пробовал по примеру с virtu тоже не работает.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Online Online

Пол: Мужской
Сообщений: 7533


Разраблю понемногу


« Ответ #9 : 09.03.2015, 15:20:18 »

Добавляем фильтры и учимся создавать свои
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet