Joomla组件渲染视图

时间:2015-01-14 10:44:53

标签: php html joomla

我创建了一个在Joomla中使用的组件,它似乎与使用我的自定义主题有关。首页工作得很好但是当进入组件视图时,它似乎将应该在头部的内容移动到body标签。我用默认主题尝试了这个,它似乎有效,所以我非常有信心这是我个人主题的问题。

<?php 

defined( '_JEXEC' ) or die( 'Restricted access' );

JHtml::_('jquery.framework');
$doc = JFactory::getDocument();

$doc->addStyleSheet('templates/' . $this->template . '/css/bootstrap.css');
$doc->addStyleSheet('templates/' . $this->template . '/css/style.css');
$doc->addScript('templates/' . $this->template . '/js/bootstrap.js', 'text/javascript');
$doc->addScriptDeclaration ("           jQuery('.carousel').carousel({
            pause: 'false'
        });");
?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
    <jdoc:include type="head" />
</head>
<body>
    <div class="container-fluid">
        <div class="row">
            <div id="backspinner">
                <div id="back-carousel" class="carousel slide carousel-fade" data-ride="carousel">
                    <div class="carousel-controls">
                        <!-- Indicators -->
                        <ol class="carousel-indicators">
                            <li data-target="#back-carousel" data-slide-to="0" class="active"></li>
                            <li data-target="#back-carousel" data-slide-to="1"></li>
                        </ol>
                    </div>

                    <!-- Wrapper for slides -->
                    <div class="carousel-inner">
                        <div class="item active">
                            <img src="/templates/sheffieldford/images/back1.jpg" class="backimage">
                            <div class="carousel-caption">
                            ...
                            </div>
                        </div>
                        <div class="item">
                            <img src="/templates/sheffieldford/images/back2.jpg" class="backimage">
                            <div class="carousel-caption">

                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-2" id="headleft"></div>
            <div class="col-md-8" id="head">
                <div class="boundingbox">
                    <div class="row">
                        <div class="col-md-2 col-md-offset-1">
                            <img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/fordlogo.png" id="logo" class="fordlogo">
                        </div>
                        <div class="col-md-2 col-md-offset-2">
                            <a href="/"><img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/logo.png" alt="Logo" id="logo"/></a>
                        </div>
                        <div class="col-md-3 col-md-offset-2" id="callbox">
                            <div id="callboxtext">
                                <?php
                                    $article = JControllerLegacy::getInstance('Content')->getModel('Article')->getItem(2);
                                    echo $article->introtext;
                                ?>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="centered-pills">
                        <jdoc:include type="modules" name="navigation" />
                    </div>
                </div>
            </div>
            <div class="col-md-2" id="headright"></div>
        </div>
        <div class="row">
            <div class="col-md-8 col-md-offset-2">
                <div class="boundingbox">
                <jdoc:include type="component" />
                </div>
            </div>
        </div>
        <div class="row footerrow" id="footer">
            <div class="col-md-8 col-md-offset-2 col-xs-10 col-xs-offset-1">
                <div class="boundingbox">
                    <div class="row" style="margin:0px;">
                        <div class="col-md-6">
                            <div class="row">
                                <div class="col-md-4 footercolumn">
                                <h3>Accident Repairs</h3>
                                    <ul>
                                        <li>Ford Accident Management</li>
                                        <li>Accident Repairs</li>
                                        <li>Smart Repairs</li>
                                        <li>Dentals Paint Removal</li>
                                    </ul>
                                </div>
                                <div class="col-md-4 col-md-offset-2 footercolumn">
                                <h3>Vehicle Servicing</h3>
                                    <ul>
                                        <li>Ford Blue Service</li>
                                        <li>Service Plans</li>
                                        <li>Ford Warranty</li>
                                        <li>Special</li>
                                    </ul>
                                </div>
                            </div>
                            <div class="row footerrow hidden-xs hidden-sm">
                            <div class="col-md-4 footercolumn"  >
                                <img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/footerlogo.png" class="infoimage footerlogo"/>
                            </div>
                            <div class="col-md-4 footercolumn"  >
                                <img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/motalogo.png" class="infoimage footerlogo" style="margin-top: 11px;"/>
                            </div>
                            <div class="col-md-4 footercolumn" style="margin-top: 6px;">
                                <div class="footerimg">
                                    <a href="https://www.facebook.com/clarkandpartners" target="_blank"><img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/facebook.png" style="display: block;
                                            float: left;"/></a>
                                    <span class="spacer"></span>
                                    <a href="https://twitter.com/clark_partners" target="_blank"><img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/twitter.png" style="display: block;
                                            float: left;"/></a>
                                </div>
                            </div>
                        </div>
                        </div>
                        <div class="col-md-6">
                            <div class="col-md-4 col-md-offset-2" id="contactdetails">
                                <a href="#">Special Offers</a></br>
                                <a href="#">Ford Warranty</a></br>
                                <a href="#">About Us</a></br>
                                <a href="#">Customer Reviews</a></br>
                                <a href="#">Adaptations</a></br>
                                <a href="#">News</a></br>
                                <a href="#">Contact Us</a></br>
                            </div>
                            <div class="col-md-6" id="contactdetails">
                            <?php $article = JControllerLegacy::getInstance('Content')->getModel('Article')->getItem(3);
                                echo $article->introtext;?>
                            </div>
                        </div>
                        <div class="row footerrow hidden-md hidden-lg">
                            <div class="row">
                                <div class="col-xs-6 col-xs-offset-3 footerimgxs">
                                    <a href="https://www.facebook.com/clarkandpartners" target="_blank"><img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/facebook.png"/></a>
                                    <a href="https://twitter.com/clark_partners" target="_blank"><img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/twitter.png"/></a>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-xs-8 col-xs-offset-2 footercolumn"  >
                                    <div class="row footerimgxslogo">
                                        <img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/footerlogo.png"/>
                                    </div>
                                    <div class="row footerimgxslogo">
                                        <img src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template;?>/images/motalogo.png"/>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>

我已经准备好让其他人解决了使用BOM将编码更改为UTF8的问题,但这对我来说似乎没有任何改变。

1 个答案:

答案 0 :(得分:0)

假设这是您的自定义模板index.php文件,问题是如何将网站组件合并到模板中。当您应该使用Joomla的语句时,您手动实例化并呈现组件视图。

交换此代码:

<?php $article = JControllerLegacy::getInstance('Content')->getModel('Article')->getItem(3);
            echo $article->introtext;?>

有关:

<jdoc:include type="component" />

您的组件应正确呈现。事实上,有许多Joomla集成问题只会进一步阻止管理员仪表板正确管理您的内容。菜单,登录,警报和调试等各个部分都使用模块分配。

如果您还没有检查出其中一个核心模板的index.php,我会给它一个评论。还附加了一个关于创建Joomla模板的文档的链接。

祝你好运!

https://docs.joomla.org/Portal:Template_Development