Reputation: 3539
I am writing JavaScript like that:
<?php $this->headScript()->captureStart();?>
$(function(){
// some javascript magic
});
<?php $this->headScript()->captureEnd(); ?>
But problem is that it is not highlighted and there is no autocomplete... I have tried write like this:
<?php $this->headScript()->captureStart();?>
//<script>
$(function(){
// some javascript magic
});
<?php $this->headScript()->captureEnd(); ?>
Now it is highlighted but netbeans is not happy about not closed <script>
tag and some other issues with Zend... Then after some more googling found this:
<?php if( false ) {?><script><?php } ?>
$(function(){
// some javascript magic
});
<?php if( false ) { ?></script><?php } ?>
Works fine but maybe there is better solution for this?
Upvotes: 2
Views: 765
Reputation: 8830
You can extend HeadScript, this is simplest solution:
class My_View_Helper_HeadScript extends Zend_View_Helper_HeadScript
{
public function captureEnd()
{
$content = ob_get_contents();
ob_clean();
echo strip_tags($content, 'script');
parent::captureEnd();
}
}
Specify helper path:
resources.view.helperPath.My_View_Helper = "My/View/Helper"
Usage:
<?php $this->headScript()->captureStart();?>
<script>
alert(1);
</script>
<?php $this->headScript()->captureEnd(); ?>
Upvotes: 1
Reputation: 60747
Write your js in external JS files.
It will allow for better separation, better caching, better aggregation, better highlighting, etc.
Here are some links that may help you:
Upvotes: 2