it-swarm.com.de

Schwerwiegender Fehler: Die Klasse 'ArticlesLatestHelper' wurde im Joomla 4-Modul nicht gefunden, als versucht wurde, eine neue Funktion hinzuzufügen

Ich teste und spiele mit Joomla 4 Alpha. Ich habe versucht, das Modul Neuester Artikel (mod_articles_latest) schnell zu bearbeiten/zu ändern und eine neue Funktion hinzuzufügen.

In joomla 3.x füge ich einem Modul normalerweise eine neue Funktion hinzu, indem ich sie wie folgt zur Datei helper.php hinzufüge:

class ModNameHelper
{
    public static function myFunctionName($param1,$param2)
    { ...

Dann rufe ich es von der default.php so auf:

ModNameHelper::myFunctionName($param1,$param2);

Jetzt habe ich versucht, diese Schritte mit mod_articles_latest zu duplizieren, indem ich myCustomFunction wie folgt zu ArticlesLatestHelper.php hinzugefügt habe:

/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_latest
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\Module\ArticlesLatest\Site\Helper;

defined('_JEXEC') or die;

use Joomla\CMS\Access\Access;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Router\Route;
use Joomla\Component\Content\Site\Model\ArticlesModel;
use Joomla\Registry\Registry;
use Joomla\Utilities\ArrayHelper;

\JLoader::register('ContentHelperRoute', JPATH_SITE . '/components/com_content/helpers/route.php');

/**
 * Helper for mod_articles_latest
 *
 * @since  1.6
 */
abstract class ArticlesLatestHelper
{
    /**
     * Retrieve a list of article
     *
     * @param   Registry       $params  The module parameters.
     * @param   ArticlesModel  $model   The model.
     *
     * @return  mixed
     *
     * @since   1.6
     */
    public static function getList(Registry $params, ArticlesModel $model)
    { // this is the built-in function ... }


    public static function myCustomFunction($myparam) {
}

und rief dann die Funktion in der default.php so auf

ArticlesLatestHelper::myCustomFunction($myparam);

Aber es gab einen schwerwiegenden Fehler zurück:

Error: Class 'ArticlesLatestHelper' not found: Class 'ArticlesLatestHelper' not found

Kann mir jemand sagen, was mache ich hier falsch? Vielen Dank!

2
webchun

Fügen Sie diese Hilfsklasse entweder oben in Ihren default.php Ein:

defined('_JEXEC') or die;

use Joomla\Module\ArticlesLatest\Site\Helper\ArticlesLatestHelper;

Dann können Sie diese Klasse in Ihrer default.php - Datei verwenden

Oder definieren Sie standardmäßig Ihre eigene Variable in mod_articles_latest.php Wie:

$myStuffHere = ArticlesLatestHelper::myCustomFunction($myparam);

Und dann können Sie die zurückgegebenen Werte von $myStuffHere Mit diesem Variablennamen in default.php Verwenden.

Ich denke, das ist es, wonach Sie suchen.

2
Zollie