0

私は 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

4

0 に答える 0