0

我是使用 Joomla、Gantry-Framework 和 PHP 的初学者 :) 我有一个关于如何编辑主体文件的 html 的问题。或者,更详细地说,在我想要/可以编辑它之前,我必须了解文件的代码,因此我有一个问题。

我想要实现的目标是:Gantry-Framework 使用具有 12 列布局的网格。主体部分由 content-top、mainbody、content-bottom 和一个侧边栏组成(参见此处)。现在,我想更改我只有主体部分的 HTML。我认为我已经实现了这一点,但现在问题已经存在,我希望 mainboy 部分适合整个 12 列的宽度,而不仅仅是目前的 6 列。当我使用 chrome 的开发人员工具检查站点时,我可以看到,只有 6 格列布局被使用,当我手动更改它时,我实现了我的目标,但现在我想编辑模板,我不太明白该怎么办。

这是原始代码:

<?php
/**
* @version   $Id: body_mainbody.php 6306 2013-01-05 05:39:57Z btowles $
* @author    RocketTheme http://www.rockettheme.com
* @copyright Copyright (C) 2007 - 2014 RocketTheme, LLC
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*
* Gantry uses the Joomla Framework (http://www.joomla.org), a GNU/GPLv2 content management system
*
*/
defined('GANTRY_VERSION') or die();

gantry_import('core.gantrylayout');

/**
*
* @package    gantry
* @subpackage html.layouts
*/
class GantryLayoutBody_MainBody extends GantryLayout {
var $render_params = array(
    'schema'        =>  null,
    'pushPull'      =>  null,
    'classKey'      =>  null,
    'sidebars'      =>  '',
    'contentTop'    =>  null,
    'contentBottom' =>  null
);
function render($params = array()){
    /** @var $gantry Gantry */
    global $gantry;

    $app = JFactory::getApplication();
    $fparams = $this->_getParams($params);

    // logic to determine if the component should be displayed
    $display_mainbody = !($gantry->get("mainbody-enabled",true)==false && $app->input-   >getString('view') == 'featured');
    $display_component = !($gantry->get("component-enabled",true)==false && ($app->input->getString('option') == 'com_content' && $app->input->getString('view') == 'featured'));
    ob_start();
// XHTML LAYOUT
?>
<?php if ($display_mainbody) : ?>          
<div id="rt-main" class="<?php echo $fparams->classKey; ?>">
            <div class="rt-container">
                <div class="rt-grid-<?php echo $fparams->schema['mb']; ?> <?php echo $fparams-    >pushPull[0]; ?>">
                    <?php if (isset($fparams->contentTop)) : ?>
                    <div id="rt-content-top">
                        <?php echo $fparams->contentTop; ?>
                    </div>
                    <?php endif; ?>
                    <?php if ($display_component) : ?>
                    <div class="rt-block">
                        <div id="rt-mainbody">
                            <div class="component-content">
                                <jdoc:include type="component" />
                            </div>
                        </div>
                    </div>
                    <?php endif; ?>
                    <?php if (isset($fparams->contentBottom)) : ?>
                    <div id="rt-content-bottom">
                        <?php echo $fparams->contentBottom; ?>
                    </div>
                    <?php endif; ?>
                </div>
                <?php echo $fparams->sidebars; ?>
                <div class="clear"></div>
            </div>
        </div>
<?php endif; ?>
<?php
    return ob_get_clean();
    }
}

我将其更改为:

    <?php
/**
 * @version   $Id: body_mainbody.php 6306 2013-01-05 05:39:57Z btowles $
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2014 RocketTheme, LLC
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 *
 * Gantry uses the Joomla Framework (http://www.joomla.org), a GNU/GPLv2 content management system
 *
 */
defined('GANTRY_VERSION') or die();

gantry_import('core.gantrylayout');

/**
 *
 * @package    gantry
 * @subpackage html.layouts
 */
class GantryLayoutBody_MainBody extends GantryLayout {
    var $render_params = array(
        'schema'        =>  null,
        'pushPull'      =>  null,
        'classKey'      =>  null,
        'sidebars'      =>  '',
        'contentTop'    =>  null,
        'contentBottom' =>  null
    );
    function render($params = array()){
        /** @var $gantry Gantry */
        global $gantry;

        $app = JFactory::getApplication();
        $fparams = $this->_getParams($params);

        // logic to determine if the component should be displayed
        $display_mainbody = !($gantry->get("mainbody-enabled",true)==false && $app->input->getString('view') == 'featured');
        $display_component = !($gantry->get("component-enabled",true)==false && ($app->input->getString('option') == 'com_content' && $app->input->getString('view') == 'featured'));
        ob_start();
// XHTML LAYOUT
?>
<?php if ($display_mainbody) : ?>          
<div id="rt-main" class="<?php echo $fparams->classKey; ?>">
                <div class="rt-container">
                    <div class="rt-grid-<?php echo $fparams->schema['mb']; ?> <?php echo $fparams->pushPull[0]; ?>">
                        <?php if ($display_component) : ?>
                        <div class="rt-block">
                            <div id="rt-mainbody">
                                <div class="component-content">
                                    <jdoc:include type="component" />
                                </div>
                            </div>
                        </div>
                        <?php endif; ?>
                    </div>
                    <div class="clear"></div>
                </div>
            </div>
<?php endif; ?>
<?php
        return ob_get_clean();
    }
}

所以,我想我确定了我必须改变的重要点,但我不明白它们。所以我无法继续满足我的需求。

我认为我必须改变的地方是:

<div class="rt-grid-<?php echo $fparams->schema['mb']; ?> <?php echo $fparams->pushPull[0]; ?>">

我不明白:

• fparams 包含一些参数?例如“mb”或“pushpull”?但它在哪里填充?• 我认为 mb 包含值 6...但我想要一个 12 -> 我必须在哪里更改它?

我希望我以您理解的方式描述了我的问题,并且有人可以帮助我。此外,我希望我正确格式化了我文章中的代码 - 我尽了最大努力并使用菜单栏中的给定工具,但我还没有写很多文章。所以,如果有错误,我会为此道歉,并且当有人告诉我如何使它变得更好时,我会很高兴,所以我可以以更好的方式写以下帖子。

我期待着您的回音!

最好的问候, oodoloo

4

0 回答 0