[suche] Hilfe bei "top of the Shop" Azure Modul

Servus,

ich bin hier neu und hab auch gleich eine Frage, ich versuch vom Azure das “top of the shop” Modul auf das Basic zu übertragen.

Ich habe alles nötige eingefügt, aber die JS Funktion in der “oxarticlebox.js” wird nicht ausgeführt und damit werden keine Bilder sichtbar gemacht, bzw verborgen.

Ich weis das dies ein großes gebiet ist, und viel falsch gehen kann, für ratschläge wäre ich sehr dankbar.

  • die datei wird eingebunden!
  • die funktion sollte eigentlich dadurch aufgerufen werden:
<script type="text/javascript">
$('a.js-external').attr('target', '_blank');
$('ul.js-articleBox').oxArticleBox();
</script>

Vielen dank schonmal für eure Hilfe!

gruss Corsafahrer

Basic hat doch schon die Top of the Shop Box, so ziemlich an der selben Stelle wie im Azure.

oder gehts um die Animation und wie die Artikelbilder so kommen und verschwinden?

ja genau geht um die animation, das jeweils nur eins offen ist und die sich langsam auf und zuklappen!

hast du auch die eigentliche Funktion oxArticleBox() kopiert?

[QUOTE=vanilla thunder;106403]hast du auch die eigentliche Funktion oxArticleBox() kopiert?[/QUOTE]

die in der Javascriptdatei? Ja!



alert('Datei galaden!');
( function( $ ) {

    oxArticleBox = {

        _create: function(){
            var oSelf         = this,
                oElement      = oSelf.element,
                sTitlePattern = /^(.+) \([0-9]+\)$/,
                sEndPattern   = / \([0-9]+\)$/;
alert('Test change');
            //hide all
            $('.articleImage', oElement).hide();

            //open first
            $('.articleImage:first', oElement).show();
            $('.articleImage:first', oElement).addClass('showImage');

            $('.articleTitle', oElement).mouseover(function() {

                //if not opened
                if ($(this).prev().is(':hidden') == true) {

                    //closing opened
                    $('.articleTitle', oElement).removeClass('titleOn');
                    $('.showImage', oElement).slideUp(500);

                    //opening selected
                    $(this).addClass('titleOn');
                    $(this).prev().addClass('showImage')
                    $(this).prev().slideDown(500);
                }
            });

            // triming titles to mach container width (if needed)
            $( ".box h3 a", oElement ).each(function() {
                var iTitleWidth = $(this).width(),
                    iContWidth  = $(this).parent().width(),
                    sTitleText  = $.trim($(this).text());

                // if title is longer than its container
                if (iTitleWidth > iContWidth) {

                    // checking if title has numbers at the end
                    var sTitleEnd	    = $.trim(sEndPattern.exec(sTitleText));

                    // seperating the title from the numbers
                    if (sTitleEnd) {
                        sTitleEnd  = ' ' + sTitleEnd;
                        sTitleText = sTitlePattern.exec(sTitleText).pop();
                    }

                    // getting the length of the title
                    var iTitleLength = sTitleText.length;

                    while (iTitleWidth > iContWidth)
                    {
                        iTitleLength--;
                        $(this).html(sTitleText.substr(0, iTitleLength)+'…' + sTitleEnd);
                        var iTitleWidth = $(this).width();
                    }
                    $(this).attr('title',sTitleText);
                }
            });
        }
    }
    $.widget( "ui.oxArticleBox", oxArticleBox );
} )( jQuery );

erste allert erscheint, zweite nicht!

okay, ich habs, tut mir echt leid, hab die nacht nur 3h geschlafen.

Antwort, man sollte das Script NACH jquery laden…

sry, aber vielen dank vanilla thunder für deine Bemühungen

ah jo, macht Sinn :slight_smile:

schau dir mal den Tag [{oxscript include=“xy.js” }] an.

damit kannst du die Scripts in beliebigen Tempaltes einbeziehen und wenn der Shop die Seite verarbeitet, wird dieser Script an der richtigen Stelle eingebaut.