2014-01-23 8 views
0

Я пытаюсь получить шаблон для работы с меню сортировки в Joomla 3. Я использую макет категории и скрипт загрузки бесконечности, который работает нормально. После этого я создал новое меню из модуля categorie_list, который добавляет такие параметры (?category=your_category) в тег.Joomla - любой шанс переопределить com_content/models/category.php?

Теперь для того, чтобы эта система работала, мне нужно изменить категорию, в которой вид блога получает свои статьи.

я уже нашел место в

components/com_content/models/category.php 

в строке 222

function getItems() 
{ 
    $limit = $this->getState('list.limit'); 

    if ($this->_articles === null && $category = $this->getCategory()) 
    { 
     $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); 
     $model->setState('params', JFactory::getApplication()->getParams()); 
     $model->setState('filter.category_id', '$category->id'); // <- here!!! 
     $model->setState('filter.published', $this->getState('filter.published')); 
     $model->setState('filter.access', $this->getState('filter.access')); 
     $model->setState('filter.language', $this->getState('filter.language')); 
     $model->setState('list.ordering', $this->_buildContentOrderBy()); 
     $model->setState('list.start', $this->getState('list.start')); 
     $model->setState('list.limit', $limit); 
     $model->setState('list.direction', $this->getState('list.direction')); 
     $model->setState('list.filter', $this->getState('list.filter')); 
     // filter.subcategories indicates whether to include articles from subcategories in the list or blog 
     $model->setState('filter.subcategories', $this->getState('filter.subcategories')); 
     $model->setState('filter.max_category_levels', $this->setState('filter.max_category_levels')); 
     $model->setState('list.links', $this->getState('list.links')); 

     if ($limit >= 0) 
     { 
      $this->_articles = $model->getItems(); 

      if ($this->_articles === false) 
      { 
       $this->setError($model->getError()); 
      } 
     } 
     else 
     { 
      $this->_articles = array(); 
     } 

     $this->_pagination = $model->getPagination(); 
    } 

    return $this->_articles; 
} 

Поскольку я не знаю, как переопределить модель в шаблоне, даже будучи Гугле, я ничего не нашел больше, чем импортировать его через плагин. И это не то, в чем я нуждаюсь и хочу вообще.

Возможно, у вас, ребята, есть удобный трюк для меня.

ответ

1

первое предложение
Как переопределить компонент MVC с Joomla! Ядро
http://docs.joomla.org/How_to_override_the_component_mvc_from_the_Joomla!_core
ВНИМАНИЕ: Этот метод работает только при установке и включите третью партию MVC плагин - или предоставить свой собственный эквивалент плагин. Это хорошо для продвинутых разработчиков - просто имейте в виду, что это не часть Joomla! Основной код.

второе предложение
Скопируйте весь основной компонент, взломать копию и упаковать копию как новый компонент под новым именем (например com_mycustomcontent). При этом у вас не будет проблем с обновлениями , если не возникнет проблема с исходным кодом. Это означает, что вы застряли, если не знаете, как применять обновления исходного компонента к вашему компоненту.

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