Новости Joomla

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

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
На сайте материалы по тегам выводятся через стандартный компонент поиска. Он слегка переработан, чтобы выводил текст материала целиком, не обрезая картинки. Поиск осуществляется по метатегам, получаются такие своеобразные рубрики.

Возникла необходимость быстро редактировать материалы из результатов компонента поиска.
Однако компонент выводит не материалы в прямом их понимании, а запросом из базы получает текст, ссылку на материал и дату. Т.е. в результатах могут быть не только материалы, но и любые другие вещи, по чем осуществляется поиск (у меня только материалы)
Результаты выводятся в цикле:
Код
<?php foreach($this->results as $result) : ?>
<?php echo $this->escape($result->title);?>
<?php echo $result->text; ?>
<?php echo $result->created; ?>
...

Ссылка на материал: /index.php?option=com_content&task=article.edit&id=5515:material&catid=40&Itemid=639

Ссылка на редактирование: /index.php?option=com_content&task=article.edit&a_id=5515&return=aHR0cCUzQSUyRiUyRmt1cG9uaW5hc2tpZGt1LnJ1JTJG

Как-то можно из ссылки на материал получить ссылку на её редактирование?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Сам себе отвечу

id материала там можно получить в $result->id

Получилось как-то так:

в default_results.php компонента com_search дописал после
defined('_JEXEC') or die;

Код
require_once JPATH_ROOT.'/components/com_content/helpers/icon.php';
require_once JPATH_ROOT.'/components/com_content/models/article.php';
$user        = JFactory::getUser();

В цикле проверяем можно ли юзверю редактировать этот материал и получаем каждый материал по id:
<?php foreach($this->results as $result) :

Код
 
  $canEdit    = $user->authorise('core.edit',       'com_content.article.'.$result->id);
  $article = new ContentModelArticle;
  $item = $article->getItem($result->id);

И перед заголовком материала выводим иконку на редактирование
Код
		<?php if ($canEdit) : ?>
<ul class="actions">
<li class="edit-icon">
<?php echo JHtml::_('icon.edit', $item); ?>
</li>
</ul>
<?php endif; ?>

default_results.php копируется в html/com_search/search шаблона, чтобы не затерся после обновления Joomla

Теоретически, подобным образом можно вывести картинки материала в компоненте поиска или что-то ещё.
« Последнее редактирование: 09.02.2014, 11:57:58 от ChaosHead »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 0
Просмотров: 13988
Последний ответ 14.09.2023, 22:16:47
от mrporter
Материалы пользователя (контакта)

Автор katerina37

Ответов: 5
Просмотров: 1137
Последний ответ 18.02.2022, 11:53:02
от katerina37
Материалы в админке

Автор Ren17

Ответов: 6
Просмотров: 1327
Последний ответ 12.11.2020, 14:18:04
от Ren17
Выбор модуля или компонента галереи

Автор a159cm

Ответов: 0
Просмотров: 1047
Последний ответ 23.09.2018, 14:14:37
от a159cm
Как редактировать эту страницу http://xn----7sbonopgorkq.xn--p1ai/LP/Visa/index?

Автор Ирина Поехали

Ответов: 6
Просмотров: 1251
Последний ответ 13.09.2017, 08:55:51
от Ирина Поехали