我是使用 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