在我的布局中,当我这样做时
<?php $js = APPLICATION_PATH."/../public/js"; ?>
<script src = <?php echo $js."/signup_layout_js.js"; ?> ></script>
我收到了js错误
http://proj_name/home/aman/Work/proj_name/public/js/signup_layout_js.js
我的APPLICTION_PATH被附加到http://proj_name/
,我不希望这样。
但是,如果我这样做,它在http://proj_name/
上工作正常但在我转到像http://proj_name/Controller/Action
<script src ="./js/signup_layout_js.js"></script>
我该如何纠正这个问题。感谢。
同样在我的index.php中,APPLICATION_PATH是
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
谢谢..
答案 0 :(得分:0)
您的整个路径是脚本的src的一部分,因为您正在预先设置它。尝试回显APPLICATION_PATH
常量的值。这不是在Web应用程序中引用静态文件的正确行为。
在您的情况下,您应该考虑使用Zend Framework的内置headScript
和inlineScript
视图帮助程序。您不需要自己编写script
DOM标记。
答案 1 :(得分:0)
像这样的链接脚本:
<script src = "<?= $this->baseUrl() . '/js/signup_layout_js.js' ?>" ></script>
或者使用headScript helper:
//put this in header
<?= $this->headScript(); ?>
//put this before closing body tag
<?= $this->inlineScript() ?>
//and this anywhere in you code ($this is view object)
$this->headScript()
->prependFile($this->baseUrl() . '/js/jquery-1.7.2.min.js')
->appendFile($this->baseUrl() . '/js/flying-header.js')
->appendScript('
var google_conversion_id = 9999999;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;');