将模块添加到Joomla的子页面

时间:2017-07-21 10:58:32

标签: joomla3.4

我有一个模块,我从管理面板添加到某个子页面。之后,一些子页面显示该模块的正确内容,但点击它后的一些子页面打开空白,没有内容的白页。我不知道造成这个问题的原因。为什么有这个模块的子页面正常工作,有些显示空白页? 这就是我在页面上看到的内容:

致命错误:无法在第15行的/opt2/data-dev/modules/mod_products_menu/helper.php中重新声明类ModProductsMenuHelper

谢谢你的帮助! 这是我的代码

   <?php
    /**
    * Slajder class for Hello World! module
   * 
   * @package    Joomla.Tutorials
   * @subpackage Modules
   * @link http://docs.joomla.org/J3.x:Creating_a_simple_module/Developing_a_Basic_Module
   * @license        GNU/GPL, see LICENSE.php
   * mod_helloworld is free software. This version may have been modified pursuant
   * to the GNU General Public License, and as distributed it includes or
   * is derivative of works licensed under the GNU General Public License or
   * other free or open source software licenses.
   */
   class ModProductsMenuHelper
   {
/**
 * Retrieves the hello message
 *
 * @param   array  $params An object containing the module parameters
 *
 * @access public
 */    
public function getProducts($params)
{

    $lang = JFactory::getLanguage();
    $langTag = $lang->getTag();

    $app = JFactory::getApplication();
    $isSMB = $app->get('isSMB');



    $parentMenuId = $langTag == 'pl-PL' ? 107 : 103;

    $results = $this->getChildren($parentMenuId, $langTag);


    return $results;
}


private function getChildren($parentId, $langTag){
    // Get a db connection.
    $db = JFactory::getDbo();

    // Create a new query object.
    $query = $db->getQuery(true);
    $query
        ->select(array('id', 'title', 'path', 'alias'))
        ->from($db->quoteName('#__menu'))
        ->where("(language = '*' OR language= ".$db->quote($langTag).") AND published = 1 AND parent_id=".$parentId)
        ->order($db->quoteName('lft') . ' ASC, '.$db->quoteName('id') . ' ASC');

    // Reset the query using our newly populated query object.
    $db->setQuery($query);

    // Load the results as a list of stdClass objects (see later for more options on retrieving data).
    $results = $db->loadObjectList();
    foreach ($results as $key=>$val){

        $results[$key]->children = $this->getChildren($val->id, $langTag);
    }

    return $results;
}

}

1 个答案:

答案 0 :(得分:1)

从我可以收集到的内容中,您创建了一个模块并将其分配给特定页面。你还没有提到模块的内容是什么(自定义html等)。

您是否已将模块分配到&#39;模块分配&#39;中的正确页面?标签?请看this question and answer,因为它解释了如何做到这一点。

如果您看到白页,我建议在Joomla中enabling error reporting。这应该为您提供有关错误的其他有用信息。

如果您的网站链接有用,并且您使用的是Joomla版本。