Handel-shop

Aus Wikizone
Wechseln zu: Navigation, Suche

- Filter horzontal ausrichten - Oh das geht:

Gib der box in der DB gm_boxes die Position gm_box_pos_330. dann in der index.html (Template) das rote einfügen(natürlich dort wo du es möchtest, das ist ein Bsp. von mir). Dann den Filter formatieren. fertig. Soll der nur auf bestimmten Seiten erscheinen, gehts mit dem if-Gedöns.

{$IMGSLIDER} {$gm_box_pos_330} {$main_content} {$CATEGORIES_DROPDOWN}

Du musst in deiner css nach folgendem Eintrag suchen und das float: left; einfügen:

div.input.separator-bottom { border-bottom: 0 solid #CCCCCC; padding-bottom: 10px; width: 120px; float: left; } und hier noch ein Feature das das Teil dann auch auf Contentseiten angezeigt wird


- Filterwerte in der Produktbeschreibung -

http://www.gambio-forum.de/threads/11349-Filter-Eigenschaften-in-der-Produktbeschreibung-einblenden?p=86728#post86728


- Filter als Accordion -


- Filter dynamisch anwenden -

diese habe ich wieder herausgenommen, damit die der Filer als accordion eingebaut werden kann.


Folgenden Code an das Ende von "templates\EyeCandy\boxes\box_filter.html" anfügen.

Dann wird bei jeder Filter-Auswahl die Seite automatisch neu geladen.

<script type="text/javascript" src="gm/javascript/jquery/jquery.js"></script> <script type="text/javascript"> {literal} var filter_form;

function xmit_data() {

 filter_form.submit();

}

$(document).ready(function(){

 filter_form=$('form[name=search_filter]');
 $('.filter_feature select, #filter_prices input').change(function(){
   xmit_data();
 });
 $('.filter_feature input[type=checkbox]').click(function(){
   xmit_data();
 });
 $('#filter_reset input').click(function(){
   var elements;
   elements=filter_form.find('input[type=text]');
   if (elements.length)
   {
     elements.val();
   }
   elements=filter_form.find('input[type=checkbox]');
   if (elements.length)
   {
     elements.attr('checked',false);
   }
   elements=filter_form.find('select option[value=""]');
   if (elements.length)
   {
     elements.attr('selected',true);
   }
   xmit_data();
 });

}); {/literal} </script>


Mit Ajax

Die AJAX-Variante hat ja das gleiche Problem wie die normale, wollte erst warten, ob die OK ist....

An das Ende von "templates\EyeCandy\boxes\box_filter.html" anfügen:

PHP-Code: <script type="text/javascript" src="gm/javascript/jquery/jquery.js"></script> <script type="text/javascript"> {literal} var filter_form;

function xmit_data() {

 if (true)
 {
   var form_data=filter_form.serialize()+'&ajax_replace=true';
   $('body').css('cursor','wait');
   filter_form.attr('disabled', 'disabled');
   $.ajax({
     url: filter_form.attr('action'),
     cache: false,
     data: form_data,
     type: 'GET',
     async: false,
     success: function(html){
       var target_name,target;
       target_name="maincol";
       target=$("#"+target_name)
       if (!target.length)
       {
         target_name="main_inside";
         target=$("#"+target_name)
       }
       if (target.length)
       {
         target.html(html);
         document.getElementById(target_name).scrollIntoView(true);
       }
     }
   });
   filter_form.removeAttr('disabled');
   $('body').css('cursor','default');
 }
 else
 {
   filter_form.submit();
 }

}

$(document).ready(function(){

 filter_form=$('form[name=search_filter]');
 $('.filter_feature select, #filter_prices input').change(function(){
   xmit_data();
 });
 $('.filter_feature input[type=checkbox]').click(function(){
   xmit_data();
 });
 $('#filter_reset input').click(function(){
   var elements;
   elements=filter_form.find('input[type=text]');
   if (elements.length)
   {
     elements.val();
   }
   elements=filter_form.find('input[type=checkbox]');
   if (elements.length)
   {
     elements.attr('checked',false);
   }
   elements=filter_form.find('select option[value=""]');
   if (elements.length)
   {
     elements.attr('selected',true);
   }
   xmit_data();
 });

}); {/literal} </script> In "includes\classes\Smarty_2.6.14\Smarty.class.p hp"

PHP-Code: function display($resource_name, $cache_id = null, $compile_id = null) {

 $this->fetch($resource_name, $cache_id, $compile_id, true);

}