Перейти к содержимому


Фотография
- - - - -

как настроить подачи материалов с фронтенда с Метаданными?


  • Закрытая тема Тема закрыта
Сообщений в теме: 12

#1 viktor.chaliy

viktor.chaliy

Отправлено 20 June 2012 - 21:40

подскажите плиз , как настроить чтоб в подачи материалов с фронтенда в каталог  user мог добавлять  товар с Метаданными ,как я вижу это с админки ....очень нужно!!!
  • 0

#2 SmetDenis

SmetDenis

Отправлено 20 June 2012 - 22:11

Если этого поля нет в настройках формы подачи материалов, то никак.
Либо делать отдельные текстовые поля для материала, затем через API Joomla менять описание, заголовок и ключевые слова страницы.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 viktor.chaliy

viktor.chaliy

Отправлено 21 June 2012 - 08:36

Если этого поля нет в настройках формы подачи материалов, то никак.
Либо делать отдельные текстовые поля для материала, затем через API Joomla менять описание, заголовок и ключевые слова страницы.



затем через API Joomla менять описание, заголовок и ключевые слова страницы.

а можно по подробней где в  API joomla менять нужно ,если можно распишите ...
уверен ни одного меня это интересует!!! ....странно что раньше ни кто ни задался этим вопросом !!! ведь Метаданные это одна из основных вещей для после контента для поисковиков....
  • 0

#4 Артём

Артём

Отправлено 21 June 2012 - 12:17

Может метаданные автоматом брать просто из элемента описания(text/textarea)? Есть же у Вас к item'у описание или тизер-описание?
Можно так же специально для этой цели ввести элемент text,
потом в шаблоне вывода через идентификатор элемента брать его значение.
  • 0
в ЛС не писать | коплю карму

#5 viktor.chaliy

viktor.chaliy

Отправлено 21 June 2012 - 14:32

Может метаданные автоматом брать просто из элемента описания(text/textarea)? Есть же у Вас к item'у описание или тизер-описание?
Можно так же специально для этой цели ввести элемент text,
потом в шаблоне вывода через идентификатор элемента брать его значение.


зачем менять в шаблоне...там же есть позиция meta  как я понял как раз для  метаданных....
а специализированного элемента meta нет ...... хотелось бы видеть такой элемент в наличии...
желательно с такими же свойствами как у самой joomla 2.5 в статьях ....
если кто знает как сделать напишите пожалуйста ....ну очень нужно...
я думаю всем пригадится  и в шаблонах править ничего не прийдется ...а значит с обновлениями не будет ни каких проблем.....!!!!
  • 0

#6 Артём

Артём

Отправлено 21 June 2012 - 20:31

Зачем дважды вводить одно и тоже? Если Вы делаете сайт для людей, то снипет для поисковой выдачи должен быть таким же, как тизер к item'у.
Делается это вот так:
$element = $this->item->getElement('ИДЕНТИФИКАТОР');
$text = $element->render();
$temp= strip_tags($text);
$temp = substr($temp, 0, 300)."..."; 
$document->setDescription($temp);
При обновлении ничего не сотрётся, если Вы будете использовать шаблон для определённого алиаса.
\media\zoo\applications\jbuniversal\templates\catalog\renderer\item\"alias"\full.php

Конечно не буду с Вами спорить: по Вашему заданию можно сделать модифицировав элемент text, чтобы он делал то, что описано выше.
Наверное это самый дешёвый в разработке вариант, я не специалист.

  • 0
в ЛС не писать | коплю карму

#7 SmetDenis

SmetDenis

Отправлено 21 June 2012 - 21:26

Откровенно говоря, автор живет в прошлом веке, если считает что поисковиков сильно заботит текст в мета (description, keywords).
Из мета данных только title браузера имеет значение. А вообще поисковики сейчас начинают разбираться в юзабилити, отлично считаю ссылочную массу страницы итд... ;)


Мое решение такое.
Заводим 3 текстовых поля - Заголовок, Описание страницы и Ключевые слова.
Хотя тут мне больше нравиться аналогия
    Заголовок - название материала + название сайта
    Описание страницы - урезанный текст анонса
    Ключевые слова - теги страницы


Добавляем 3 новые позиции в файл position.xml вашего шаблона материала
    <positions layout="full">
        <position name="title">Title</position>
        <position name="image">Image</position>
        <position name="properties">Properties</position>
        <position name="text">Text</position>
        <position name="meta">Meta</position>


        <position name="meta-title">Meta title</position> 
        <position name="meta-description">Meta description</position> 
        <position name="meta-keywords">Meta keywords</position> 
    </positions>


Шаблоны и xml лежат тут
media\zoo\applications\jbuniversal\templates\catalog\renderer\item\<АЛИАС ТИПА МАТЕРИАЛА>\


в файле Full.php в самом начал добавляем код


$document = JFactory::getDocument();
$document->setMetadata('description', strip_tags(trim($this->renderPosition('meta-description'))));
$document->setMetadata('keywords', strip_tags(trim($this->renderPosition('meta-keywords'))));
$document->setTitle(strip_tags(trim($this->renderPosition('meta-title'))));



Идем в админку и выводим в нужных позициях нужные поля.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 Amazing

Amazing

Отправлено 21 June 2012 - 22:43

...

$document = JFactory::getDocument();
$document->setMetadata('description', strip_tags(trim($this->renderPosition('meta-description'))));
$document->setMetadata('keywords', strip_tags(trim($this->renderPosition('meta-keywords'))));
$document->setTitle('description', strip_tags(trim($this->renderPosition('meta-title'))));

В 4-й строке наверное setTitle('title',...) ?

  • 0

#9 SmetDenis

SmetDenis

Отправлено 21 June 2012 - 23:14

Ошибся, исправил.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 viktor.chaliy

viktor.chaliy

Отправлено 22 June 2012 - 07:12

всем большое спасибо!
прийду домой буду разбираться по выше указанным советам!
  • 0




Click to return to top of page in style!