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

Sbzi4

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

NewUsers

  • Живу я здесь
  • 2021
  • 185 / 0
При попытке вывода дополнительного поля в шаблоне модуля 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.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

warlocksp

  • Завсегдатай
  • 1175
  • 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

  • Живу я здесь
  • 2021
  • 185 / 0
Что за переменная $item. Как она создается и что в ней находиться?
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

warlocksp

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

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

NewUsers

  • Живу я здесь
  • 2021
  • 185 / 0
Переменная должна содержать объект содержащий как минимум id материала, и в переменную $jcfield будет добавлен ключ value который содержит значение поля
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

warlocksp

  • Завсегдатай
  • 1175
  • 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

  • Живу я здесь
  • 2021
  • 185 / 0
Вставьте мой код в файле в котором сейчас это делаете. Будет ли он работать (в результате должна вывести ссылка на видео, но там будет 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.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на PHP 7.x и исправлю ошибки PHP
*

warlocksp

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


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

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

warlocksp

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

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

warlocksp

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

Вывод доп. полей в любом месте

Автор lgmax

Ответов: 4
Просмотров: 332
Последний ответ 01.04.2021, 11:55:05
от revil
Установка компонента в Joomla 3

Автор Бекжан

Ответов: 7
Просмотров: 1067
Последний ответ 27.03.2021, 15:00:56
от arma
Вывод файлов и папок на странице сайта

Автор diman_bush

Ответов: 0
Просмотров: 77
Последний ответ 26.03.2021, 14:08:17
от diman_bush
Метки / теги - вывод только избранных материалов, как?

Автор x1

Ответов: 0
Просмотров: 78
Последний ответ 16.03.2021, 15:32:03
от x1
Чем Joomla 3.10 будет отличаться от Joomla 3.9?

Автор web1

Ответов: 2
Просмотров: 169
Последний ответ 10.03.2021, 00:04:53
от web1