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

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

Как сделать два окна для добавления материала?

 (Прочитано 333 раз)
0 Пользователей и 1 Гость смотрят эту тему.
goodsanta
Осваиваюсь на форуме
***

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

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



« : 06.05.2015, 16:45:10 »

Требуется сделать два окна, что бы в одном окне автоматом был подзаголовок h2 с названием блока, а <li> добавлялось как <li itemprop="ingredients">
и второе окно начинающееся <h2>Способ приготовления</h2>
  <ul itemprop="recipeInstructions">

т.е. чтобы в итоге после заполнения окон было что то типа:
<h2>Ингредиенты</h2>
  <ul>
    <li itemprop="ingredients">
      текст первого окна
    </li>
    <li itemprop="ingredients" >
      текст первого окна
    </li>
    <li itemprop="ingredients" >
      текст первого окна
    </li>
    <li itemprop="ingredients" >
     текст первого окна
    </li>
    <li itemprop="ingredients" >
      текст первого окна
    </li>
  </ul>
  <h2>Способ приготовления</h2>
  <ul itemprop="recipeInstructions">

текст второго окна
Записан
Apoca1ypto
Завсегдатай
*****

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

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



« Ответ #1 : 06.05.2015, 17:19:21 »

Самый простой вариант использовать CCK, например Zoo.
Записан
goodsanta
Осваиваюсь на форуме
***

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

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



« Ответ #2 : 06.05.2015, 17:30:51 »

ZOO не подходит, именно то дополнение которое нужно в платной версии.
« Последнее редактирование: 06.05.2015, 18:01:25 от goodsanta » Записан
goodsanta
Осваиваюсь на форуме
***

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

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



« Ответ #3 : 06.05.2015, 18:28:15 »

Ладно упростим задачу, в каком файле находится вывод <li> что бы его вывод заменить на <li itemprop="ingredients" >
Записан
Очередной вебмастер
Завсегдатай
*****

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

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


лысый умный дядя


« Ответ #4 : 06.05.2015, 19:56:01 »

Ладно упростим задачу, в каком файле находится вывод <li> что бы его вывод заменить на <li itemprop="ingredients" >
он находится в разметке html   laugh
Попробуйте воспользоваться чем то наподобие https://www.nonumber.nl/ru/extensions/contenttemplater он вставляет предварительно подготовленный вами шаблон в поле редактора
Записан
goodsanta
Осваиваюсь на форуме
***

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

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



« Ответ #5 : 06.05.2015, 22:49:23 »

т.е. просто в каком файле это переписать никто не знает?
Записан
Apoca1ypto
Завсегдатай
*****

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

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



« Ответ #6 : 06.05.2015, 23:00:16 »

ZOO не подходит, именно то дополнение которое нужно в платной версии.

ZOO бесплатный компонент, если Вы про платные Приложения, то это набор полей, которые Вы можете сделать сами.
Записан
goodsanta
Осваиваюсь на форуме
***

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

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



« Ответ #7 : 06.05.2015, 23:32:37 »

ZOO бесплатный компонент, если Вы про платные Приложения, то это набор полей, которые Вы можете сделать сами.
Именно то поле которое и нужное оно и платное, а то что в бесплатном так это и так все есть.
Записан
Очередной вебмастер
Завсегдатай
*****

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

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


лысый умный дядя


« Ответ #8 : 07.05.2015, 20:31:37 »

т.е. просто в каком файле это переписать никто не знает?
т.е. если бы это было просто в рамках com_content вам бы уже об этом написали.
Записан
goodsanta
Осваиваюсь на форуме
***

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

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



« Ответ #9 : 08.05.2015, 04:39:22 »

т.е. если бы это было просто в рамках com_content вам бы уже об этом написали.
Представь себе это именно так просто, но просто человек который разбирается в этом побольше тебя и меня просто не зашел в данную тему, или был занят, и да это именно в com_content
И если вдруг кому интересно как, ну мало ли то вот решение:
Код:
$order = '<li>';
$replace = '<li itemprop="ingredients">';
$zamena = str_replace($order, $replace, $this->item->text);
$order2 = 'Приготовление:</h2>';
$replace2 = 'Приготовление:</h2><ul itemprop="recipeInstructions">';
echo str_replace($order2, $replace2, $zamena);

вместо:

echo $this->item->text;
Данное решение было создано для кулинарного сайта, теперь там отображается как надо ингредиенты, и автоматом под Приготовление вставляется recipeInstructions
Записан
robert
Профи
********

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

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


« Ответ #10 : 08.05.2015, 11:29:46 »

goodsanta, ваш заголовок темы ввел читателей в заблуждение: на самом деле не было никаких окон для добавления материала, речь шла просто о добавлении микроразметок при выводе материала.
Касаясь вашего решения:
- ко всем li будут добавлены itemprop="ingredients"
- остается лишний незакрытый ul
Корректнее будет так:
Код
preg_match('#Ингредиент</h2>((?!</ul>).)*</ul>#s',$this->item->text,$matches1);
preg_match('#Способ приготовления:</h2>((?!</ul>).)*</ul>#s',$this->item->text,$matches2);
$search=array($matches1[0],$matches2[0]);
$replace=array();
$replace[]=str_replace('<li>','<li itemprop="ingredients">',$matches1[0]);
$replace[]=str_replace('<ul>','<ul itemprop="recipeInstructions">',$matches2[0]);
$item_text=str_replace($search,$replace,$this->item->text);
echo $item_text;
 
Но это решение весьма ресурсоемкое, правильнее включить микроразметки еще на стадии создания материала.
Записан
goodsanta
Осваиваюсь на форуме
***

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

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



« Ответ #11 : 09.05.2015, 12:49:00 »

goodsanta, ваш заголовок темы ввел читателей в заблуждение
В сообщении ниже я написал
Ладно упростим задачу, в каком файле находится вывод <li> что бы его вывод заменить на <li itemprop="ingredients" >
Записан
Страниц: [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