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

Sbzi4

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

NewUsers

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

warlocksp

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

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

warlocksp

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

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

NewUsers

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

warlocksp

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

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

warlocksp

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


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

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

warlocksp

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

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

warlocksp

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

Баг в поиске Joomla 3.8.5 <span class="highlight'>title</span>

Автор hubby

Ответов: 25
Просмотров: 3877
Последний ответ Сегодня в 07:49:26
от jem777
Кастомные поля в плагине. onBeforeCompileHead()

Автор bombapiter

Ответов: 0
Просмотров: 69
Последний ответ 07.05.2021, 17:52:12
от bombapiter
Ошибка сохранения доп. поля категории

Автор Damarkuzz

Ответов: 2
Просмотров: 138
Последний ответ 06.05.2021, 13:07:04
от Damarkuzz
Нужны доработки и исправление ошибок Joomla! 3.6.2

Автор Volegost

Ответов: 0
Просмотров: 88
Последний ответ 28.04.2021, 17:40:35
от Volegost
Не работает JavaScript в Joomla

Автор Dimonchester

Ответов: 2
Просмотров: 122
Последний ответ 25.04.2021, 22:35:36
от Dimonchester