Добавляю поле Featured в компоненте

  • 6 Ответов
  • 461 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

platonische

  • ****
  • 320
  • 0
  • Парусные экспедиции vk.com/tc670
Хочу сделать возможность в своем компоненте ставить свойство "Избранное" для элемента.
в XML форме добавил field по образу и подобию как в com_content все заработало и даже не пришлось прописывать это поле в edit.php отдельно.
Встало и работает.

Сейчас же хочу в виде просмотра списка элементов в таблице добавить иконку Featured для быстрого изменения. Взял опять же com_contetn и копирую из него строки.

Вот что было у меня:
Спойлер
[свернуть]

Меняю на:
Спойлер
[свернуть]
Получаю ошибку 500 JHtml contentadministrator not found.
Как этот JHtml contentadministrator подключить или чем другим сделать?
Парусные экспедиции http://vk.com/tc670, сплавы на байдарках http://vk.com/magnittv_turism

*

SmokerMan

  • ********
  • 5329
  • 689
Re: Добавляю поле Featured в компоненте
« Ответ #1 : 21.10.2015, 15:32:36 »
contentadministrator - а что это и откуда взялось?)

*

platonische

  • ****
  • 320
  • 0
  • Парусные экспедиции vk.com/tc670
Re: Добавляю поле Featured в компоненте
« Ответ #2 : 21.10.2015, 16:15:24 »
я взял эти строки из реализации featured в компоненте com_content
admin../com.../...content/views/articles/tmpl/default.php
Парусные экспедиции http://vk.com/tc670, сплавы на байдарках http://vk.com/magnittv_turism


*

platonische

  • ****
  • 320
  • 0
  • Парусные экспедиции vk.com/tc670
Re: Добавляю поле Featured в компоненте
« Ответ #4 : 21.10.2015, 18:06:42 »
а как подключить эту штуку. Я ее в хелпере тоже нашел
Парусные экспедиции http://vk.com/tc670, сплавы на байдарках http://vk.com/magnittv_turism


*

Aleks.Denezh

  • *******
  • 2784
  • 376
Re: Добавляю поле Featured в компоненте
« Ответ #6 : 21.10.2015, 20:06:48 »
Там задача завязана только на вид articles! И если у вас нету вида articles и контроллера articles то ничего у вас не получится )

Но можно сделать так:
1. В файле классе вашего вида views/viewName/view.html.php вида списка где нужно делать избранное добавить метод:
Спойлер
[свернуть]
Обратите внимание на массив $states в нем состояния и два действия 'articles.featured','articles.unfeatured', (надо articles сменить на имя вашего текущего вида)

2. В шаблоне вида views/viewName/tmpl/default.php вывести кнопку  в нужном месте в цикле!
Код: php
<?php echo $this->featured( $item->favorites, $i, $canChange ); ?>

3. открываем контролер списка который совпаддает с именем задачи (если articles то controlllers/articles.php)
в нем:
a) В конструкторе добавить строку
Код: php
$this->registerTask( 'unfeatured', 'featured' );
б) Добавить  метод:
Спойлер
[свернуть]
Обратить внимание на com_your_component - имя вашего компонента 'index.php?option=com_your_component&view=your_view' - редирект на вид списка после того как поставится избранное!

4. Идем в модель одиночной записи (так которая у вас отвечает за редактирование записи в текущем списке и добавляем метод)
Спойлер
[свернуть]
Обратить внимание на запрос обновления #__table_name - имя таблицы в котором у вас поле для избранного, поле для избранного featured

p.s. в модели списка не забыть получить поле в котором будет значение избранного
p.s.s Если нужно добавить кнопки в избранное из избранного для массового изменения значения на панели задач:
Код: php
JToolbarHelper::custom( 'articles.featured', 'featured.png', 'featured_f2.png', 'JFEATURED', true );
JToolbarHelper::custom( 'articles.unfeatured', 'unfeatured.png', 'unfeatured_f2.png', 'JUNFEATURED', true );
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016