Moin Moin
Ich hatte grade in einem Kundeshop den "kleinen" Fehler dass Artikel Attribute nicht mehr gespeichert werden konnten. Nach kurzer Analyse war klar warum, jedes Attribut bzw. jede Checkbox in der Datei new_attributes.php wird per $_POST übergeben.
Wenn ein Shop nun wirklich
viele Artikel Attribute hat kann es sein dass der String einfach zu lang wird und somit quasi der Speichern Knopf nicht mehr funktioniert.
.htaccess Lösung funktioniert dort nicht also hab ich auf die Schnelle einen kleinen Hotfix gebastelt damit der Knopf wieder funktioniert
Beim drücken auf den neuen Speicher Button wird jetzt per jQuery jede Tabellenzeile mit nicht aktiver Checkbox aus der Seite entfernt - damit ist der zu übergebende $_POST String beim Speichern nur so lang wie er unbedingt sein muss und alles läuft seinen gewohnten Gang
Geht sicherlich auch ohne jQuery aber es funktioniert und ich bin zu faul es umzuschreiben
Also falls jemand das selbe Problem hat, hier ist der Fix:
ACHTUNG: Veraltete Version! Eine überarbeitete Anleitung gibt es hier: Klick mich!ACHTUNG: Hier gibt es ein aktuelles Dateipaket für Shopversion 1.06: Klick mich!in
admin/new_attributes.php vor den
</head> Tag folgende Zeile einfügen:
<!-- Ready hax -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
Und dann noch in
admin/includes/modules/new_attributes_include.php ca. Zeile 182 bis 185
<?php
echo xtc_button(BUTTON_SAVE) . ' ';
echo xtc_button_link(BUTTON_BACK, xtc_href_link(FILENAME_NEW_ATTRIBUTES, $param));
?>
ersetzen mit:
<!-- ready hax -->
<script language="javascript">
jQuery(document).ready(function($) {
// alert("ready");
$("#speichern_ready, #nur_auswahl_ready, #alle_ready").show();
$.extend($.expr[':'], {
unchecked: function (obj) {
return ((obj.type == 'checkbox' || obj.type == 'radio') && !$(obj).is(':checked'));
}
});
$("#nur_auswahl_ready").click(function() {
$("input:unchecked").parent().parent().hide();
$("#realsubmitbutton").click();
});
$("#alle_ready").click(function() {
$("input:unchecked").parent().parent().show();
$("#realsubmitbutton").click();
});
$("#speichern_ready").click(function() {
$("input:unchecked").parent().parent().remove();
$("#realsubmitbutton").click();
});
});
</script>
<div style="background-color: #e0ffd5; border: 1px solid #666; bottom: 0; display: block; left: 0; margin: 0; padding: 5px 20px; position: fixed; width: 100%; text-align:center;">
<a class="button" id="speichern_ready" style="display:none;">Attribute speichern<a/> 
<a class="button" id="nur_auswahl_ready" style="display:none;">Nur aktive Attribute anzeigen<a/> 
<a class="button" id="alle_ready" style="display:none;" >Alle Attribute anzeigen <a/> 
<?php
// echo xtc_button(BUTTON_SAVE) . ' ';
echo xtc_button_link(BUTTON_BACK, xtc_href_link(FILENAME_NEW_ATTRIBUTES, $param));
?>
</div>
<div style="display:none !important"><input type="submit" class="button" onclick="this.blur();" value="Speichern" id="realsubmitbutton" ></div>
ACHTUNG: Veraltete Version! Eine überarbeitete Anleitung gibt es hier: Klick mich!ACHTUNG: Hier gibt es ein aktuelles Dateipaket für Shopversion 1.06: Klick mich!Jetzt gibts statt der "Speichern" und "Zurück" Buttons unter der Attribute Liste eine grünliche Zeile am unteren Bildschirmrand mit den neuen Buttons "Attribute speichern" "Nur aktive Attribute anzeigen" "Alle Attribute anzeigen" und "Zurück"
Viel Spaß damit
[
EDIT Tomcraft 16.05.2014: Hier geht es zu einer
überarbeiteten Anleitung von noRiddle & web0null.]
[
EDIT web28 23.01.2015: Hier geht es zu zum
Dateipaket für Shopversion 1.06.]
Linkback: https://www.modified-shop.org/forum/index.php?topic=23108.0