The*_*Kid 2 php variables opencart
我试图在OpenCart中创建两个全局变量.我基本上希望能够在我的任何.tpl
文件中声明它们
<?php echo $global1; ?>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过编辑,library/system.php
也config.php
可以$global1="test"
在我的文件中添加内容.但是在.tpl
文件中调用它不起作用?
例如,看下面的文件,我希望能够随时调用这些变量..我是否需要编辑config.php或者什么?该示例显示了$header
在每个.tpl文件上使用的调用.
not_found.tpl
<?=$header?>
<div class="breadcrumb">
<? foreach ($breadcrumbs as $breadcrumb) { ?>
<? $breadcrumb['separator']; ?><a href="<?=$breadcrumb['href']?>"><?=$breadcrumb['text']?></a>
<? } ?>
</div>
<div id="content">
<?=$global1?>
<img src="/catalog/view/theme/default/image/error.png"/>
</div>
<?=$footer?>
Run Code Online (Sandbox Code Playgroud)
/catalog/controller/common/header.php
<?php
class ControllerCommonHeader extends Controller {
protected function index() {
// NEW GLOBAL VARS
$cdnDefault="//www.gorgeouscouturedev.com/catalog/view/theme/";
$currentUseLang = $this->language->get('code');
Run Code Online (Sandbox Code Playgroud)
现在在/catalog/view/theme/default/template/common/home.tpl
<?=$header?>
<?=$column_left?>
<?=$column_right?>
<div id="content">
<? echo $cdnDefault ?>
<? echo $currentUseLang ?>
<?=$content_top?>
<div class="flexslider">
<ul class="slides">
<li><img src="catalog/view/theme/default/image/desktop.png"/></li>
<li><img src="catalog/view/theme/default/image/blogger.png"/></li>
</ul>
</div>
<?=$content_bottom?>
</div>
<?=$footer?>
Run Code Online (Sandbox Code Playgroud)
而错误:
Notice: Undefined variable: cdnDefault in /catalog/view/theme/default/template/common/home.tpl on line 6
Notice: Undefined variable: currentUseLang in /catalog/view/theme/default/template/common/home.tpl on line 7
Run Code Online (Sandbox Code Playgroud)
如果您只想使用静态值,则可以使用常量.只需在config.php文件中创建一个,例如
define('CDN_URL', 'http://cdn.someurl.com/');
Run Code Online (Sandbox Code Playgroud)
然后你可以使用
<?php echo CDN_URL; ?>
Run Code Online (Sandbox Code Playgroud)
在您的应用程序中的任 如果你想在编辑的问题中编写代码,那么你的代码的根本缺陷就是你使用$cdnDefault
而不是$this->data['cdnDefault']
在你的控制器文件中,导致未定义的问题.但是请注意,这个变量在最轻微的情况下并不是全局变量,它只是按照它应该编码
在我看来,正确的方法是创建一个新的设置值,供您SYSTEM > SETTINGS
在管理区域中编辑,然后使用$this->config->get('config_value_here')
而不是采用更快速的黑客方法来调用它