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

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Как получить поле мета автор?
которое есть приредактировании категории в разделе метаданные

хочу при выводе перехватить это поле
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #1 : 07.04.2014, 20:36:06 »
up
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #2 : 09.04.2014, 08:17:03 »
таблица в базе _categories
в ней мне нужен столбец - metadata
в нем содержимое: {"author":"содержимое","robots":""}

пытаюсь получить по аналогии с тем что есть в коде по другим элементам

Код
$mm1 = json_decode($this->item->metadata);
$mm=$mm1->{'author'};
echo $mm;

и ничего не получаю, подскажите, где ошибка? не хотелось бы получать содержимое ячеек этого столбца через прямой запрос к базе, так как я думаю что при формировании вывода блога категории эти данные уже получены sql запросом, надо их всего лиш получить из выборки
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Как получить поле мета автор (php)?
« Ответ #3 : 09.04.2014, 08:21:13 »
Может вот так
Код: php
$mm=$mm1->author; 
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #4 : 09.04.2014, 09:27:05 »
не, так не подходит

если я делаю отдельный запрос к базе, то потом все работает

Код
$db =& JFactory::getDBO();
$query="запроснебудуписать";
$db->setQuery($query);
$met = $db->loadResult();
$obj = json_decode($met);
$avt=$obj->{'author'};

вот так все работает, но ведь это лишние запросы
если на блоге выводится 10 материалов, то тогда это лишних 10 запросов
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Как получить поле мета автор (php)?
« Ответ #5 : 09.04.2014, 10:13:28 »
Ну загляните в переменную. Чего тут гадать  то.
Код: php
var_dump($this->item->metadata);
$mm1 = json_decode($this->item->metadata);
var_dump($mm1);
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #6 : 09.04.2014, 10:59:01 »
выводит вот что:

Код
JDocumentHTMLstring(53) "{"robots":"","author":"","rights":"","xreference":""}"
object(stdClass)#3801 (4) {
  ["robots"]=>
  string(0) ""
  ["author"]=>
  string(0) ""
  ["rights"]=>
  string(0) ""
  ["xreference"]=>
  string(0) ""
}

но это данные из таблицы _content а не _categories
хотя все правки делаю в файле /com_content/category/blog_item.php
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #7 : 09.04.2014, 11:01:19 »
хотя ведь вроде логично? если я правлю в blog_item (тоесть для каждго item материала) то и данные получаю для этого материала

но как там получить данные для категории?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Как получить поле мета автор (php)?
« Ответ #8 : 09.04.2014, 11:25:53 »
Понятия не имею. Если у вас $this->item это материал, то может $this это категория. В нее загляните.
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #9 : 09.04.2014, 11:29:59 »
вот так:
Код
var_dump($this->category->metadata);
$mm2 = json_decode($this->category->metadata);
var_dump($mm2);
уже дает данные для категории, но почему то поля автора пустые

JDocumentHTMLobject(JRegistry)#3785 (1) {
  ["data":protected]=>
  object(stdClass)#3792 (2) {
    ["author"]=>
    string(0) ""
    ["robots"]=>
    string(0) ""
  }
}
object(stdClass)#3809 (2) {
  ["author"]=>
  string(0) ""
  ["robots"]=>
  string(0) ""
}
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #10 : 09.04.2014, 11:36:56 »
понял почему пустые)0
так как это дает поля для текущей, активной категории

а не для категорий материалов
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #11 : 09.04.2014, 11:59:22 »
как указать что надо для родительской катгории?

вот так для текущей:
Код
var_dump($this->category->metadata);
$mm2 = json_decode($this->category->metadata);

а как для родительской?

вот так:
Код
var_dump($this->parent_category->metadata);
$mm2 = json_decode($this->parent_category->metadata);

неверно, тоест парент категория это не родительская
?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Как получить поле мета автор (php)?
« Ответ #12 : 09.04.2014, 12:15:40 »
Ну если уж мы гадаем, а не смотрим в API. Варианты  $this->category->parent,   $this->category->parent(), $this->category->getParent(), $this->category->get('parent') (в стиле joomla). Можно еще по гадать.
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #13 : 09.04.2014, 12:16:28 »
дак подскажите где смотреть апи? я не могу найти где про это почитать
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #15 : 09.04.2014, 12:20:11 »
вы издеваетесь? я понимаю что надо искать в интернете. на планете земля, и прочее
может что-то конкретнее есть?
апи большое, и я занимаюь допиливанием Joomla практически в первый раз, и даже не представляю как там задать вопрос в поиск чтобы получить более мене близкий к теме ответ....
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Как получить поле мета автор (php)?
« Ответ #16 : 09.04.2014, 13:07:02 »
Мля. C Joomla только раз работал. Google "joomla category parent" второй пункт в выдаче $parent = $category->getParent();
... $this->category->getParent()...
Угадал похоже.
*

vaganofff

  • Захожу иногда
  • 125
  • 3 / 1
Re: Как получить поле мета автор (php)?
« Ответ #17 : 09.04.2014, 14:09:58 »
если вот так:
Код
var_dump($this->category->getParent()->metadata);
$mm2 = json_decode($this->category->getParent()->metadata);
var_dump($mm2);
то выдает
string(0) ""
NULL

а если вот так:

Код
var_dump($this->category->getParent());
$mm2 = json_decode($this->category->getParent());
var_dump($mm2);

то выдает вообще все из родительских категорий, оф форум Joomla заражен, Google на него не пускает, в апи Joomla вообще написано что getParent() дает родительскуй категорию и все, ни примеров исползования, ничего..

быть может как то можно сузить? как прописать что нужен столбец именно метадата?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать порядок мета тегов?

Автор Meiir

Ответов: 4
Просмотров: 1447
Последний ответ 11.05.2017, 17:52:33
от vipiusss
Получить информацию о доставке на странице продукта

Автор annaoomph

Ответов: 0
Просмотров: 724
Последний ответ 16.08.2016, 22:20:30
от annaoomph
Код загрузки модуля в дополнительном поле материала

Автор goga_pgasovav

Ответов: 10
Просмотров: 1131
Последний ответ 05.05.2016, 06:37:58
от sabnok
Получить ID и/или alias верхней категории

Автор goga_pgasovav

Ответов: 4
Просмотров: 1580
Последний ответ 26.03.2016, 10:08:14
от midav
Сменить порядок вывода Мета-Тег

Автор darkghost

Ответов: 4
Просмотров: 1085
Последний ответ 20.01.2016, 00:17:15
от darkghost