Hallo,
ich versuche verzweifelt in den hier angezeigten Code meine eigenen Felder vom Beitrag einzufügen. Diese sollen in der Blogansicht unter dem Title und vor dem Introtext ausgegeben werden.
PHP
<?php
/**
* @package Joomla.Site
* @subpackage com_content
*
* @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Associations;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Content\Administrator\Extension\ContentComponent;
use Joomla\Component\Content\Site\Helper\RouteHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
// Create a shortcut for params.
$params = $this->item->params;
$canEdit = $this->item->params->get('access-edit');
$info = $params->get('info_block_position', 0);
// Check if associations are implemented. If they are, define the parameter.
$assocParam = (Associations::isEnabled() && $params->get('show_associations'));
$currentDate = Factory::getDate()->format('Y-m-d H:i:s');
$isUnpublished = ($this->item->state == ContentComponent::CONDITION_UNPUBLISHED || $this->item->publish_up > $currentDate)
|| ($this->item->publish_down < $currentDate && $this->item->publish_down !== null);
?>
<?php foreach($item->jcfields as $jcfield)
{
$item->jcFields[$jcfield->name] = $jcfield;
}
?>
<div class="col-xl-5 col-lg-5 col-md-4 col-sm-12 col-12">
<?php echo LayoutHelper::render('joomla.content.intro_image_rezepte', $this->item); ?>
</div>
<div class="col-xl-7 col-lg-7 col-md-8 col-sm-12 col-12">
<?php if ($isUnpublished) : ?>
<div class="system-unpublished">
<?php endif; ?>
<?php echo LayoutHelper::render('joomla.content.blog_style_item_lead_title', $this->item); ?>
<?php if ($canEdit) : ?>
<?php echo LayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item)); ?>
<?php endif; ?>
<?php // @todo Not that elegant would be nice to group the params ?>
<?php $useDefList = ($params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date')
|| $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam); ?>
<?php if ($useDefList && ($info == 0 || $info == 2)) : ?>
<?php echo LayoutHelper::render('joomla.content.info_block', array('item' => $this->item, 'params' => $params, 'position' => 'above')); ?>
<?php endif; ?>
<?php if (!$params->get('show_intro')) : ?>
<?php // Content is generated by content plugin event "onContentAfterTitle" ?>
<?php echo $this->item->event->afterDisplayTitle; ?>
<?php endif; ?>
<?php // Content is generated by content plugin event "onContentBeforeDisplay" ?>
<?php echo $this->item->event->beforeDisplayContent; ?>
<ul class="d-flex text-white list-unstyled mt-auto">
<li class="d-flex align-items-center me-3">
<span class="badge rounded-pill bg-light text-dark">
<small><span itemscope itemprop="https://schema.org/recipeCuisine"><?php echo $item->jcFields['kueche']->rawvalue; ?></span></small></span>
</li>
<li class="d-flex align-items-center">
<span class="badge rounded-pill bg-light text-dark">
<small><i class="bi-clock me-1"></i><meta itemprop="cookTime" content="PT<?php echo $item->jcFields['kueche']->rawvalue; ?>M"><?php echo $item->jcFields['gesamtzeit']->rawvalue; ?> Min.</small></span>
</li>
</ul>
<span class="card-text lead">
<?php echo $this->item->introtext; ?>
</span>
<?php if ($info == 1 || $info == 2) : ?>
<?php if ($useDefList) : ?>
<?php echo LayoutHelper::render('joomla.content.info_block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
<?php endif; ?>
<?php if ($params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
<?php echo LayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($params->get('show_readmore') && $this->item->readmore) :
if ($params->get('access-view')) :
$link = Route::_(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
else :
$menu = Factory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = new Uri(Route::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
$link->setVar('return', base64_encode(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language)));
endif; ?>
<?php echo LayoutHelper::render('joomla.content.readmorerezepte', array('item' => $this->item, 'params' => $params, 'link' => $link)); ?>
<?php endif; ?>
<?php if ($isUnpublished) : ?>
</div>
<?php endif; ?>
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
<?php echo $this->item->event->afterDisplayContent; ?>
<?php if ($info == 0 && $params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
<?php echo LayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
<?php endif; ?>
</div>
Alles anzeigen
Versuchen tu ich das Ganze mit der Joomla-Anleitung: Individuelle Felder laden
Den oben genannten Quellcode habe ich zu den anderen use... hinzugefügt.
Den nachfolgenden Code habe ich schon an diversen Stellen versucht ohne jeglichen Erfolg.
Felder versuche ich dann wie folgt einzufügen:
PHP
<ul class="d-flex text-white list-unstyled mt-auto">
<li class="me-auto d-none d-sm-block d-sm-none d-md-block d-md-none d-lg-block">
<img src="images/logo/logo.png" alt="Philippe's Foodblog" class="rounded-circle bg-white border border-white" width="32" height="32">
</li>
<li class="d-flex align-items-center me-3">
<span class="badge rounded-pill bg-light text-dark">
<small><span itemscope itemprop="https://schema.org/recipeCuisine"><?php echo $item->jcFields['kueche']->rawvalue; ?></span></small></span>
</li>
<li class="d-flex align-items-center">
<span class="badge rounded-pill bg-light text-dark">
<small><i class="bi-clock me-1"></i><meta itemprop="cookTime" content="PT<?php echo $item->jcFields['kueche']->rawvalue; ?>M"><?php echo $item->jcFields['gesamtzeit']->rawvalue; ?> Min.</small></span>
</li>
</ul>
Alles anzeigen
Das merkwürdige ist, dass das z.B. in dem Newsflash Modul von Joomla ohne Probleme ausgedruckt wird.
Hoffe ihr könnt mir eine kleine Hilfestellung geben.
Liebe Grüße Philippe