Новости Joomla

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

ChaosHead

  • Гуру
  • 5241
  • 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

  • Гуру
  • 5241
  • 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
Просмотров: 1255
Последний ответ 14.09.2023, 22:16:47
от mrporter
Материалы пользователя (контакта)

Автор katerina37

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

Автор Ren17

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

Автор a159cm

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

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

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