Новости Joomla

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

Sbzi4

  • Новичок
  • 1
  • 0 / 0
При попытке вывода дополнительного поля в шаблоне модуля mod_articles_news <?php echo($this->item->jcfields[7]->value); ?> получаю ошибку "Using $this when not in object context"
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
При попытке вывода дополнительного поля в шаблоне модуля mod_articles_news <?php echo($this->item->jcfields[7]->value); ?> получаю ошибку "Using $this when not in object context"
Переменная $this доступна только в классе

В файле: _item.php
Код: php
$item->jcfields[7]->value
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Подскажите пожалуйста,

Код:
Код
<?php
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$item->jcfields = FieldsHelper::getFields('com_content.article', $item, true);
$fields = [];
foreach($item->jcfields as $jcfield) {
    $fields[$jcfield->name] = $jcfield;
}
?>

Но не выводит значение самого поля?

При print_r($fields['video-link']); вывод:

Спойлер
[свернуть]
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Что за переменная $item. Как она создается и что в ней находиться?
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
$item

$item - ниже
 
Спойлер
[свернуть]
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Переменная должна содержать объект содержащий как минимум id материала, и в переменную $jcfield будет добавлен ключ value который содержит значение поля
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Спасибо за подсказку направление,
Понял, но не могу прикрутить id материала.

В первом случае, использовал:
( Вывод инфо материала взависиомсти от страницы?)
Код
if(!class_exists('ContentModelArticle')) require_once JPATH_ROOT.'/components/com_content/models/article.php';
$article = new ContentModelArticle;
$youArticle = $article->getItem();
//JSON в массив
$image = json_decode($youArticle->images, true);
$imageFull = '/'.($image[image_fulltext]);
 }
все работает, выводит данные из материала - отлично отрабатывает.

А вот с "дополнительными поля" - не смог разобраться
Подскажите как впихнуть id материала?
Нужно вывести данные поля $fields['video-link']
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Вставьте мой код в файле в котором сейчас это делаете. Будет ли он работать (в результате должна вывести ссылка на видео, но там будет HTML ссылка (обернута в тег a))
Код: php
$jcfields = array();

foreach($this->item->jcfields as $jcfield)
{
echo $jcfields[$jcfield->name] = $jcfield->value;
}

echo "\n\n" . $jcfields['video-link'] . "\n\n";

Дополню!!!!!
Куда ни будь в файл добавьте
Код: php
print_r($this);
что будет выводиться?
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Пробывал так пусто,


Дополню!
Куда ни будь в файл добавьте
Код: php
print_r($this);
что будет выводиться?

Вывод:
Спойлер
[свернуть]
« Последнее редактирование: 28.01.2021, 18:06:05 от warlocksp »
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
$jcfields = array();

Пусто: print_r($jcfields);
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Спасибо большое пользователю "NewUsers" за помощь.
В теме " Вывод инфо материала взависиомсти от страницы?" - отпишусь как решили вопрос.
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Что хранится в таблице overrider Joomla 3?

Автор web1

Ответов: 2
Просмотров: 223
Последний ответ 04.04.2024, 22:10:48
от web1
reCAPTCHA V2 Google - Для Joomla 3

Автор Alex GOOD

Ответов: 35
Просмотров: 8352
Последний ответ 10.01.2024, 21:41:38
от Vastriet
Вывод даты материала в списке тегов

Автор androv77

Ответов: 2
Просмотров: 905
Последний ответ 09.11.2023, 16:33:08
от denxio
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 401
Последний ответ 19.10.2023, 11:25:18
от designer71
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 1520
Последний ответ 06.10.2023, 14:02:24
от Mitriy