私は Joomla、Gantry-Framework、PHP の初心者です :) 本体ファイルの html を編集する方法について質問があります。または、もっと詳しく言うと、ファイルを編集したい/編集する前に、ファイルのコードを理解する必要があるため、質問があります。
私が達成したい目標は次のとおりです。ガントリー フレームワークは、12 列のレイアウトのグリッドを使用します。content-top、mainbody、content-bottom、およびサイドバーで構成される本体セクション (こちらを参照)。ここで、本文セクションしかない HTML を変更したいと思います。私はこれをすでに達成したと思いますが、問題はすでに存在しています.mainboy-sectionを現在の6列だけでなく、12列全体の幅に合わせたいということです。クロムの開発者ツールでサイトを調べると、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