Я новичок в работе с Joomla, Gantry-Framework и PHP :), и у меня есть вопрос о том, как редактировать html файла mainbody. Или, чтобы сказать это ближе, прежде чем я хочу / мог отредактировать это, я должен понять код файла и из-за этого у меня есть вопрос.
Цель, которую я хочу достичь: Gantry-Framework использует сетку с макетом из 12 столбцов. Раздел mainbody, состоящий из content-top, mainbody, content-bottom и боковой панели (см. Вот). Теперь я хочу изменить HTML-код, который у меня есть только в разделе mainbody. Я думаю, что этого я уже достиг, но теперь проблема уже существует: я хочу, чтобы раздел 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
Задача ещё не решена.
Других решений пока нет …