DB Abfrage mit JFactory

  • Joomla Version
    5.0.3
    PHP Version
    PHP 8.2.x
    Hoster
    Lokal

    Hi zusammen,


    ich fuchse mich ein wenig in das Thema rein, stehe aber weiterhin ganz am Anfang.


    Ich habe folgende Fragestellung:


    Ich habe Overrides für Com_contact\Category\default_items.php und Com_Contact\contact\default.php erstellt.


    In der default_Items.php habe ich folgende Abfrage eingebaut:


    Dadurch wird das Customfield mit der ID 28 ausgelesen und in der Datenbank nach einem Artikel gesucht, wo das Value vom CF mit dem Titel des Artikels übereinstimmt.

    Das klappt soweit auch gut und ich kann das in eine URL mit einbauen. Ich will nämlich durch einen Klick auf das CustomField Value auf die passende Artikel Seite geleitet werden.


    Jetzt wollte ich das gleiche in einem Kontakt machen in der default.php von Contacts. Dort liest er mir aber das Custom Field nicht ein. Somit klappt am Ende auch die DB Abfrage nicht.

    Fehlermeldung bekomme ich die folgende:

    Zitat


    Warning: Undefined variable $item in D:\xampp\htdocs\joomla\templates\shaper_helixultimate\overrides\com_contact\contact\default.php on line 411
    Warning: Undefined property: Joomla\Component\Contact\Site\View\Contact\HtmlView::$ in D:\xampp\htdocs\joomla\templates\shaper_helixultimate\overrides\com_contact\contact\default.php on line 411
    Warning: Attempt to read property "jcfields" on null in D:\xampp\htdocs\joomla\templates\shaper_helixultimate\overrides\com_contact\contact\default.php on line 411
    Warning: Trying to access array offset on value of type null in D:\xampp\htdocs\joomla\templates\shaper_helixultimate\overrides\com_contact\contact\default.php on line 411
    Warning: Attempt to read property "value" on null in D:\xampp\htdocs\joomla\templates\shaper_helixultimate\overrides\com_contact\contact\default.php on line 411

    Trage ich unter $Conditions nicht $CFtitle ein, sondern direkt einen Titel, klappt es wieder.


    Was übersehe ich damit das CustomField eingelesen wird wie bei der Default_Items.php?


    Bei der default.php nutze ich das hier

    Code
    use Joomla\CMS\Factory;
    use Joomla\CMS\Helper\ContentHelper;
    use Joomla\CMS\HTML\HTMLHelper;
    use Joomla\CMS\Language\Text;
    use Joomla\CMS\Layout\FileLayout;
    use Joomla\CMS\Plugin\PluginHelper;
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Component\ComponentHelper;

    Bei der default_items.php das

    Code
    use Joomla\CMS\Factory;
    use Joomla\CMS\HTML\HTMLHelper;
    use Joomla\CMS\Language\Text;
    use Joomla\CMS\Layout\LayoutHelper;
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Uri\Uri;
    use Joomla\Component\Contact\Administrator\Helper\ContactHelper;
    use Joomla\Component\Contact\Site\Helper\RouteHelper;

    Hat jemand eine Idee?


    Danke und Viele Grüße

    Boris

    PS.: Bin ab morgen 1,5 Wochen im Urlaub. Also kann es sein das keine Antwort erstmal kommt.