PHP逻辑-I';I’我没有主意了,需要建议

PHP逻辑-I';I’我没有主意了,需要建议,php,layout,joomla,logic,templating,Php,Layout,Joomla,Logic,Templating,我正在构建一个Joomla模板,正如您现在可能看到的,内容的主体是组件(类似于wordpress中的循环),一个页面上只能有一个组件,而且必须有一个组件。因此,我的模板有3列作为标准是 sidebar-module | main-component | sidebar-module 然而,我在html中使用了一些条件代码,仅在边栏设置为这样时才显示边栏的html <!--LEFT Sidebar1 --> <?php if ($this->countMo

我正在构建一个Joomla模板,正如您现在可能看到的,内容的主体是组件(类似于wordpress中的循环),一个页面上只能有一个组件,而且必须有一个组件。因此,我的模板有3列作为标准是

sidebar-module | main-component | sidebar-module
然而,我在html中使用了一些条件代码,仅在边栏设置为这样时才显示边栏的html

<!--LEFT Sidebar1 -->
        <?php if ($this->countModules('sidebar-1')) : ?>
        <aside class="span<?php echo $spanSidebar1;?>" id="sidebar1">
            <jdoc:include type="modules" name="sidebar-1" style="html5" />
        </aside>
        <?php endif; ?>
然而,一切都变得相当复杂和混乱。然后,根据$sb1、$sb2和$main是否分别设置为第一、第二或第三,我必须显示或不显示5个不同的html布局选项,并且由于管理面板中的限制,我无法阻止有人将它们全部指定为第一或任何内容


基本上,我对PHP和编程相当陌生,这是我的第一步。有经验的人知道更好或更简单的方法吗?我的意思是,我觉得我忽略了某种更简单、更优雅的解决方案。它感觉就像是在盯着我的脸,但我看不到它。

你通常会看到的是,所有东西都按
$main |$sb1 |$sb2
的顺序输出,然后使用css来“拉”并将它们“推”到正确的位置。您可以看到Bootstrap3提供的类允许您这样做:谢谢,我想这就是解决方案。我说这只在Bootstrap3中可用,对吗?由于在Bootstrap 2中,您只能向右拉或向左拉,这将永远不允许这种布局B | A | C(来自A/B/C布局),这些类在Bootstrap 3中可用,但基本CSS可以在任何地方使用。多年来,我一直将其作为Joomla机架框架的一部分使用。在查看css文件()时,它们只使用左属性和右属性来来回拉动列?不要参与Bootstrap3类,因为核心输出不支持它们。您最需要做的可能是分别找出每个布局。然后,您可以将它们全部放在模板的index.php中,并用条件围绕它们,或者做一些更复杂的事情。。。这实际上是一个条件的问题,并为你的愿景找到逻辑。
$sb1 | $sb2 | $main

$sb2 | $sb1 | $main

$sb1 | $main | $sb2

$main | $sb1 | $sb2

$main | $sb2 | $sb1