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

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

Как после сохранения заменить текст/дескрипшн (сделать sql запрос)?

 (Прочитано 210 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Karyuudo
Давно я тут
****

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

Сообщений: 352


« : 09.09.2015, 09:41:31 »

Нужно, чтобы автоматически заполнялся дескрипш (мета), по шаблону: тайтл+рецепт с фото.

я не знаю как работает Joomla, может быть есть и другой вариант, но я знаю, что можно сделать например следующий запрос в phpmyadmin:

Код:
UPDATE bd_content
SET metadesc = concat(title, ' - рецепт с фото')
WHERE metadesc = ''

теперь вопрос - как сделать, чтобы этот запрос выполнялся автоматически после сохранения материала?

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

как это все сделать? или может есть плагины?

пока вижу только вариант при помощи крона время от времени делать запросы к базе. Но может есть вариант проще и оперативнее, чем ждать пока тот запрос сработает?
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #1 : 09.09.2015, 13:12:20 »

Варианты:
1. Написать контент плагин который будет сохранять
2. Переопределишь шаблон вывода и в нем добавить к тайтлу нужный текст типа так:
Код
$doc = JFactory::getDocument();
$doc->setTitle($doc->getTitle(). ' - рецепт с фото');
Записан
Karyuudo
Давно я тут
****

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

Сообщений: 352


« Ответ #2 : 09.09.2015, 14:41:54 »

Варианты:
1. Написать контент плагин который будет сохранять
2. Переопределишь шаблон вывода и в нем добавить к тайтлу нужный текст типа так:
Код
$doc = JFactory::getDocument();
$doc->setTitle($doc->getTitle(). ' - рецепт с фото');
спасибо за ответ.
я правда ожидал, что достаточно будет добавить несколько строк кода в каком-то уже готовом плагине сохранения материала.
придется значит изучать как делать плагины, так как для решения задачи по замене текста - это надо в базу (заменить слово фото1, на путь к фото1, который формируется на основе алиаса) для отображения картинки.

А может всеже вместо создания плагина можно подредактировать какой=-нибудь?
вот например нашел в plugins\editors\codemirror
Код:
public function onSave($id)
{
return sprintf('document.getElementById(%1$s).value = Joomla.editors.instances[%1$s].getValue();', json_encode((string) $id));
}
типа тут дописать этот запрос.. или еще куда-нибудь его..

Кстати вопрос как оптимальнее в плане нагрузки на сайт формирование дескрипшена -
заносить его в базу или выводить через шаблон как пункте 2?
или без разницы особой?
« Последнее редактирование: 09.09.2015, 16:09:17 от Karyuudo » Записан
Страниц: [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