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

Sbzi4

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

NewUsers

  • Живу я здесь
  • 2307
  • 213 / 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
  • 213 / 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
  • 213 / 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
  • 213 / 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" за помощь.
В теме " Вывод инфо материала взависиомсти от страницы?" - отпишусь как решили вопрос.
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сменить Read More в шаблоне Flex

Автор Invictus

Ответов: 1
Просмотров: 96
Последний ответ 06.09.2023, 16:56:48
от beliyadm
Обновить версию Joomla

Автор a.bardonava

Ответов: 2
Просмотров: 330
Последний ответ 11.07.2023, 11:40:04
от a.bardonava
gantry5 Joomla шаблон denali и вобще не пойму как настроить частицы

Автор imanager

Ответов: 0
Просмотров: 322
Последний ответ 29.05.2023, 21:42:17
от imanager
Администрирую и редактирую сайт на CMS Joomla. Вопросы про настройки CMS

Автор admi5575

Ответов: 4
Просмотров: 462
Последний ответ 10.05.2023, 09:02:29
от admi5575
Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 10
Просмотров: 2672
Последний ответ 18.04.2023, 09:32:55
от Akeksandr