user2194469
user2194469

Reputation: 29

Smarty clashing with JQuery

I am using a .tpl file and have included Jquery tabs to it. Now it gives and error : Text in bold is the line where it says :

Fatal error: Smarty error: [in header.tpl line 35]: syntax error: unrecognized tag: jQuery('#menu2').tabify(); (Smarty_Compiler.class.php, line 446) in /home/jifcccom/public_html/hrm/_includes/smarty/libs/Smarty.class.php on line 1093

<script src="{$BASE_URL}js/jquery.form.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/jquery.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/cmxforms.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/jquery.metadata.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/functions.js" type="text/javascript"></script>
    <script src="{$BASE_URL}_templates/{$THEME}/js/jquery.tabify.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            // <![CDATA[

            **$(document).ready(function () {**
                $('#menu2').tabify();
            });

            // ]]>
        </script>

Upvotes: 2

Views: 1655

Answers (4)

Jai
Jai

Reputation: 74738

Try adding a library of jQuery at the top:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="{$BASE_URL}js/cmxforms.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/jquery.metadata.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/jquery.validate.min.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/functions.js" type="text/javascript"></script>
<script src="{$BASE_URL}_templates/{$THEME}/js/jquery.tabify.js" type="text/javascript" charset="utf-8"></script>
  
 {literal}
    <script type="text/javascript">
        $(document).ready(function () {
            $('#menu2').tabify();
        });
    </script>
 {/literal}

Try enclosing the script tags inside {literal}{/literal} tags.

CHECK THIS LINK FOR INFORMATION

Upvotes: 0

Prasanth Bendra
Prasanth Bendra

Reputation: 32750

Wrap the js code insdie {literal}{/literal}

Ref: http://www.smarty.net/docsv2/en/language.function.literal

    <script type="text/javascript">
    {literal}

        $(document).ready(function () {
            $('#menu2').tabify();
        });

    {/literal}
    </script>

Upvotes: 2

bipen
bipen

Reputation: 36531

looks like you forgot to load jquery.js..(i couldn't see it in your posted code)

<script src="{$BASE_URL}js/jquery.js" type="text/javascript"></script>

Upvotes: 0

PiKey
PiKey

Reputation: 678

Try to wrap JS Code in {literal}{/literal}

Upvotes: 2

Related Questions