Forums / General / Help Horizontal Accordion

Help Horizontal Accordion

Author Message

Javier Olara

Wednesday 22 June 2011 9:36:19 am

Regards
I'm working on a "extension Horizontal Accordion" (http://nicolahibbert.com/horizontal-accordion-jquery-plugin/)for ez publish the template ezwebin. My idea is to create
two classes, for example:
Accordion gallery
Accordion Image
Use the Pluing "nikki-liteAccordion-08a68f0" but I failed to make funsion please
If you would like to help.
Sorry, could create a tutorial and send it, I'm new ez publish.
This is the code:

_______________

 

<h1>liteAccordion - a horizontal accordion plugin for jQuery</h1>
        <div style="height: 320px; width: 960px;" id="one" class="accordion dark rounded">
            <ol>
                <li>
                    <h2 class="selected" style="width: 320px; height: 48px; left: 0px;"><span>Slide One</span><b>1</b></h2>
                    <div style="width: 720px; left: 0px; padding-left: 48px;">
                        <figure>
                            <img src="liteAccordion%20-%20a%20horizontal%20accordion%20plugin%20for%20jQuery_files/1.jpg" alt="image">
                            <figcaption style="display: block;">I can haz big caek?</figcaption>
                        </figure>
                    </div>
                </li>
                <li>
                    <h2 class="" style="width: 320px; height: 48px; left: 768px;"><span>Slide Two</span><b>2</b></h2>
                    <div style="width: 720px; left: 768px; padding-left: 48px;">
                        <figure>
                            <img src="liteAccordion%20-%20a%20horizontal%20accordion%20plugin%20for%20jQuery_files/3.jpg" alt="image">
                            <figcaption style="display: block;">Whoops.</figcaption>
                        </figure>
                    </div>
                </li>
                <li>
                    <h2 class="" style="width: 320px; height: 48px; left: 816px;"><span>Slide Three</span><b>3</b></h2>
                    <div style="width: 720px; left: 816px; padding-left: 48px;">
                        <figure>
                            <img src="liteAccordion%20-%20a%20horizontal%20accordion%20plugin%20for%20jQuery_files/2a.jpg" alt="image">
                            <figcaption style="display: block;">Some caption text goes in here...</figcaption>
                        </figure>
                    </div>
                </li>
                <li>
                    <h2 class="" style="width: 320px; height: 48px; left: 864px;"><span>Slide Four</span><b>4</b></h2>
                    <div style="width: 720px; left: 864px; padding-left: 48px;">
                        <figure>
                            <img src="liteAccordion%20-%20a%20horizontal%20accordion%20plugin%20for%20jQuery_files/5.jpg" alt="image" width="768">
                            <figcaption style="display: block;">Pew pew pew!</figcaption>
                        </figure>
                    </div>
                </li>
                <li>
                    <h2 class="" style="width: 320px; height: 48px; left: 912px;"><span>Slide Five</span><b>5</b></h2>
                    <div style="width: 720px; left: 912px; padding-left: 48px;">
                        <figure>
                            <img src="liteAccordion%20-%20a%20horizontal%20accordion%20plugin%20for%20jQuery_files/2.jpg" alt="image">
                            <figcaption style="display: block;">More caption text here!</figcaption>
                        </figure>
                    </div>
                </li>
            </ol>
            <noscript>
                <p>Please enable JavaScript to get the full experience.</p>
            </noscript>
        </div>
<script>
    $('#one').liteAccordion({
    onActivate : function() {
        this.find('figcaption').fadeOut();
    },
    slideCallback : function() {  
        this.find('figcaption').fadeIn();
    },
    autoPlay : true,
    pauseOnHover : true,
    theme : 'dark',
    rounded : true,
    enumerateSlides : true            
}).find('figcaption:first').show();
</script>

Carlos Revillo

Thursday 23 June 2011 3:19:23 am

Hi Javier. 

First thing i could say it's about your javascript code. your javascript (as all javascript) use brackets, but brackets in templates denote ez publish code. so, the first thing i would is to use literal for enclose your javascript code. something like 

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

Javier Olara

Thursday 23 June 2011 4:18:24 am

Thanks Carlos for the reply.
But what I want to do is the template tpl,  for example: accordion.tlp.
 
Using LOOP OBJECTS to create the class identifiers.
This is to simplify the original code:
<div id="one" class="accordion">
            <ol>
                <li>
                    <h2 class="selected" style="width: 320px; height: 48px; left: 0px;"><span>Slide One</span></h2>
                    <div style="width: 720px; left: 0px; padding-left: 48px;">
                        <h3>This is Slide One.</h3>
                    <div>
                        <figure>
                            <img src="img-demo/1.jpg" alt="image" />
                            <figcaption>I can haz big caek?</figcaption>
                        </figure>
                    </div>
                </li>
</ol>

<script>$('#one').liteAccordion({    onActivate : function() {        this.find('figcaption').fadeOut();    },    slideCallback : function() {           this.find('figcaption').fadeIn();    },    autoPlay : true,    pauseOnHover : true,    theme : 'dark',    rounded : true,    enumerateSlides : true             }).find('figcaption:first').show();</script>

to make it something like this:

{def $classes = array( 'accordion_image' )}
        {def $children_count=fetch_alias( 'children_count', hash( 'parent_node_id',$object.main_node_id,
                                                                'class_filter_type', 'include',
                                                                'class_filter_array', $classes ) )}
        {if gt($children_count,0)}
            {def $whs=fetch_alias( 'children', hash( 'parent_node_id',$object.main_node_id,
                                                              'sort_by', $object.sort_array,
                                                              'class_filter_type', 'include',
                                                              'class_filter_array', $classes,
                                                              'limit', 1) ) }
             {foreach $whs as $wh }
            <style type="text/css">
                #one{ldelim}                 
                    width:{$wh.data_map.image.content[accordion].width}px;
                    height:{$wh.data_map.image.content[accordion].height}px;
                {rdelim}
            </style>
            {/foreach}    
                <div id="one" class="accordion">         
                {def $children=fetch_alias( 'children', hash( 'parent_node_id',$object.main_node_id,
                                                              'sort_by', $object.sort_array,
                                                              'class_filter_type', 'include',
                                                              'class_filter_array', $classes ) ) }
              
                {def $i=0}
                {foreach $children as $child }
                         <img width="{$child.data_map.image.content[accordion].width}"
                         height="{$child.data_map.image.content[accordion].height}"
                         alt=""
                         {if $child.data_map.image.content.alternative_text|ne("")}alt="image{$i}"{/if}
                         src="{$child.data_map.image.content[accordion].url|ezurl('no','full')}" />
                    {if $child.data_map.url.content|ne("")}</a>{/if}
                       
                    {if $child.data_map.image.content.alternative_text|ne("")}
                        <figcaption style="display: block;{$i}"></figcaption>
                            {$child.data_map.image.content.alternative_text}   
                        </div>
                        {set $i=inc( $i )}
                    {/if}      
                {/foreach}
             </div>
        {/if}  
   
 
           
<script type="text/javascript">
$('#one').liteAccordion({ldelim}
   
    theme : '{attribute_view_gui attribute=$object.data_map.dark}',
    slideSpeed : {attribute_view_gui attribute=$object.data_map.slideSpeed},
    firstSlide : {attribute_view_gui attribute=$object.data_map.firstSlide},
    autoPlay : {if $object.data_map.autoPlay.content}true{else}false{/if},   
    pauseOnHover : {if $object.data_map.pauseonhover.content}true{else}false{/if},
    rounded : {if $object.data_map.rounded.content}true{else}false{/if},
    enumerateSlides : {if $object.data_map.enumerateSlides.content}true{else}false{/if} 
   
   
{rdelim});
                               
        </script>
    </div>
</div>          

eZ debug

Timing: Jan 15 2025 06:38:07
Script start
Timing: Jan 15 2025 06:38:07
Module start 'content'
Timing: Jan 15 2025 06:38:07
Module end 'content'
Timing: Jan 15 2025 06:38:07
Script end

Main resources:

Total runtime0.1949 sec
Peak memory usage6,144.0000 KB
Database Queries134

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0056 692.5859214.8125
Module start 'content' 0.00560.0047 907.3984205.4609
Module end 'content' 0.01030.1845 1,112.85941,505.4375
Script end 0.1948  2,618.2969 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00643.3023200.0003
Check MTime0.00130.6691200.0001
Mysql Total
Database connection0.00050.278710.0005
Mysqli_queries0.146475.13371340.0011
Looping result0.00120.60031310.0000
Template Total0.184094.410.1840
Template load0.00331.714010.0033
Template processing0.180692.700010.1806
Override
Cache load0.00301.534410.0030
Sytem overhead
Fetch class attribute can translate value0.00060.321210.0006
XML
Image XML parsing0.00030.159110.0003
General
dbfile0.00030.1328140.0000
String conversion0.00000.003730.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs