"normalerweise" kann man bei Crossartikel ja nur nach einigen Kriterien sortieren
Zitat von cru
ssp::embedded("csearch", "cross.txt", $suchstring . ":10000000:0:200:3:<0")
>>> ":10000000" <--- Das Feld/ die Felder in welchen gesucht werden soll
>>> 0 <-- Ab welchem Betrag (Preis) gesucht werden soll (weglassen, damit Preis keine Rolle spielt)
>>>200 <--- Bis zu welchem Betrag (Preis) gesucht werden soll (weglassen, damit Preis keine Rolle spielt)
>>> 3 <--- Nummerischer Wert nach welchem Feld sortiert werden soll (0 = nicht sortieren, 1 = Preis, 2=Artikelnummer, 3=Beschreibung, 4= Zusatztext usw.)
>>> 0 <--- Legt die Sortierrichtung fest ( 0=aufsteigend, 1= absteigend)
Kann man die Crossartikel auch in zufälliger Reihenfolge ausgeben ?
Lösung:Voraussetzung bei dieser Lösung ist allerdings leider, dass alle Artikelnr. die selbe Anzahl Zeichen haben müssen.
Im Beispiel 4 Zeichen ->
&& length($_) > 4<!--spmacro:module(embed)
sub cross {
my $str = ssp::get_var_article('<Feld in dem die Crossartikel stehen>');
ssp::embedded("csearch","embedded/cross_detail.txt",$str);
}
-->
ersetzen mit
<!--spmacro:module(embed)
sub randomcross {
use strict;
use warnings;
use List::Util qw/ shuffle /;
my $str = ssp::get_var_article('<Feld in dem die Crossartikel stehen>');
my @str = map {
/\S/ && length($_) > 4? shuffle_word($_) : $_
} split /(\s+)/, $str;
my $string = join(',', @str), "\n";
sub shuffle_word {
my ($word) = @_;
my @word = split /,/, $word;
join ',', $word[0], shuffle(@word[1..$#word-1]), $word[-1];
}
ssp::embedded("csearch","embedded/cross_detail.txt",$string);
}
Der erste Crossartikel ist fix, alle anderen werden zufällig gereiht.
Linkback: https://www.shoppilot.net/pf/index.php?topic=1763.0