Quantcast
Channel: Programmierung - Shopware Community Forum
Viewing all 2871 articles
Browse latest View live

Theme kompilieren lassen, wenn Pluginkonfiguration gespeichert wird

$
0
0

Ich will dem Nutzer anbieten sein Theme zu kompilieren, sobald er die Konfiguration meines Plugins speichert. Oder nicht einmal anbieten, einfach kompilieren. Ist das möglich?

Das Event zum Speichern ist mir bekannt: Shopware_Controllers_Backend_Config_After_Save_Config_Element

Nur wie kann ich das aktive theme kompilieren lassen?


Varianten Bilder indexieren lassen.

$
0
0

Hallo community,

 

ich suche eine lösung für Google Indexierung von Varianten Bilder im unseren Shop, hat jemand eine Idee wie das gehen könnte?

Ich könnte vorstellen es handelt sich mit Robots.

 

Gruße

REST-API: Wie komme ich an die Varianten eines Artikels?

$
0
0

Hallo!

Ich habe hier das Problem, dass ich beim Auslesen der Artikel über die API nicht an die Varianten eines Artikels komme. 

/api/articles/ listet mir die Artikel. /api/articles/[ID] listet mir die Details zum Artikel. Das funktioniert mit variantenlosen Artikeln auch problemlos. Sobald der Artikel aber mehrere Varianten hat ist die Ausgabe von /api/articles/[ID] einfach leer. Es gibt keine Fehlermeldung, es gibt keine Mail mit einem Fehler, nichts. 

Von daher die Frage: Wie kommt man an die Varianten. Aktuell im Einsatz ist 5.2.9, trat aber auch schon vorher auf und in den Changelogs bis 5.2.17 habe ich nichts gesehen, dass dieses Problem adressieren würde.

Matt

Passenden block finden

$
0
0

Hi, ich möchte testhalber ein plugin erstellen, das ausverkaufte Artikel in der Kategorie-Ansicht ausblendet. Nach meinem Verständnis müsste es im Shopware-System einen block geben, der für den Aufbau der Kategorie-Ansicht verantwortlich ist.

Frage: Wie kann ich diesen block ausfindig machen ?

Sub-Subkategorien auf Startseite

$
0
0

Hallo,

 

ich möchte gern die die Sub-Subkategorien auf der Startliste aufgelistet haben.

 

Per Google finde ich nur Hinweise auf Subkategorien, aber nicht, die darin noch untergeordnet sind.

 

Kann jemand helfen?

Brutto und Netto Preise im Warenkorb

$
0
0

Hallo,

ich benötige ein Plugin oder ein Trick, wie man im Warenkorb von den eingelegten Artikeln gleichzeitig die Brutto und Netto Preise anzeigen lassen kann. Sowohl als Einzelpreise, als auch die Positionsgesamtsumme.

Kann mir jemend weiterhelfen ?

Gruß Jon

Seo Router für Bilder URLs

$
0
0

Hallöchen Gemeinde,

ich habe mal ein paar Visionen bezüglich der Medienverwaltung und Seo gehabt. Hier die Erklärung zur Verdeutlichung.

image

Zum einen wäre es Klasse, wenn bei jedem Bild rechts die Eingabefelder für die Bilderdaten ständen. Somit kann man jedes Foto bereits in der Medienverwaltung mit Titel Alt und Beschreibung versehen. Das sollten die Grunddaten für jedes Bild sein. Somit könnten diese Daten auch bei Bildern im Shop vorhanden sein, wenn ich z.B. mit dem Tiny Editor ein Bild in den Text einbauen. Also über die Funktion Mediaselection. Das gleiche gilt für Banner, da die ja auch noch nicht mit Titel und Alt versehen werden können.

Wenn man dann so wie bisher beim Artikel selber für die Bilder einen Titel eingibt, sollte dieser dann dominieren und den Titel aus der Medienverwaltung einfach überschreiben. Wenn man nichts eingibt, sollte auf die Daten des Bildes wie in der Mediaverwaltung hinterlegt zurückgegriffen werden. So stelle ich mir einen Bilder Seo optimierten Mediaverwalter vor. Das gleiche gilt natürlich auch für PDF usw.

 

Bilderurls nach Mediaordnern benannt.

 

image

Bisher ist es ja so, dass wie in dem Beispiel des Blog Ordners die Bilder URL so lautet:

http:// www. beispiel. de/media/image/5f/7d/11/BMW-E38-3.jpg

Seo relevanter wäre aber:

http:// www. beispiel. de/autos/oldtimer/BMW-E38-3.jpg

In dem Fall müsste ich das Bild BMW... einfach in den Unterordner Oldtimer packen. 

Oder wenn der 2. Unterordner nicht gewünscht ist, einfach in den Ordner Autos packen und dann die URL so ausgeben lassen:

http:// www. beispiel. de/autos/BMW-E38-3.jpg

 

Somit könnte man anhand der Ordnerstruktur im Mediamanager eine richtige Seo Taktik für Bilderurls erarbeiten. Ohne viel Aufwand. Ich muss die Bilder nur in den richtigen Ordner laden.

Durch meine Recherchen zur Bildersuche mit Google wäre das eigentlich optimal.

Bezüglich der Thumbs wäre eine super Lösung so als Beispiel:

http:// www. beispiel. de/autos/BMW-E38-3-200x200-5f-7d-11.jpg

Tests haben gezeigt, dass wenn man mehrere Bilder zum gleichen Artikel hat, diese so benennen sollte:

bmw-e38-3-1.jpg

bmw-e38-3-2.jpg

bmw-e38-3-3.jpg

Das würde bedeuten, dass man mit der Ergänzung des Bildnamens am Ende ganz gut aufgestellt wäre. Also wie im Beispiel: 200x200-5f-7d-11

Noch besser wäre natürlich ohne die 5f, 7d, und 11, aber das wird durch das neue System wohl kaum möglich sein.

 

Denkbar wäre auch eine Lösung über einen globalen Seo Router für die Bilder, mit dem ich durch die üblichen Variablen die Bilder URL so festlegen kann, dass die Bilder URL z.B. den Kategorienamen erhält, in dem das Bild beim jeweiligen Artikel eingebaut ist, bzw. die Kategorie, welche im Artikel als Seo URL festgelegt wurde.

 

Vielleicht kann mein Traum hier als Inspiration wirken.... Grin

 

Viele Grüsse

Matthias

 

Select feld mit Klasse "is--required" bei Adresse (form.tpl) ist nicht required

$
0
0

Guten Tag,

ich habe mein Shopware um ein Freitextfeld text2 (Stockwerk) erweitert. Funktioniert auch soweit tadellos.

Nun möchte ich dieses Feld als Pflichtfeld bei der Registrierung eintragen auch das funktioniert wunderbar, bis in der forms.tpl, welche dem eingeloggten Kunden bei Erstellung oder Änderung der Adresse gezeigt wird.

In der forms.tpl habe ich (wie an anderen Stellen auch, an denen es so klappt) folgenden Code:

<div class="field--select is--required">
 <select name="{$inputPrefix}[attribute][text2]" required="required" aria-required="true" class="is--required{if isset($error_flags.text2)} has--error{/if}" id="text2">
   <option value='' disabled>Stockwerk*</option>
   <option value="00" {if $formData.attribute.text2 == '00'} selected {/if}>Erdgeschoss</option>
 </select>
</div>

Auch habe ich schon einen Blick in die entsprechende required.js geworfen, kam aber nur zu dem Ergebnis, dass die Klasse "is--required" triggern sollte und auch auf select funktioniert. (Funktioniert bei der Auswahl von Land und/oder Ansprache auch).

In der Konfiguration der Freitextfelder gibt es in der 5er Version wohl keine Option mehr das Freitextfeld als Pflichtfeld zu setzen oder habe ich den Haken nur nicht gefunden?

Ich bin um jede Hilfe dankbar und hoffe mir kann hier wer helfen.

Danke im Voraus

jimon23


Erweiterung Order Filter

$
0
0

Ich muss im Backend den Order Filter erweitern um die supplierID.

Aktuell sehe ich nur die Möglichkeit das über einen Hook umzusetzen mit

Shopware\Models\Order\Repository::filterListQuery::after

 

oder gibt es eine elegantere Lösung ?

Splitting nach Lieferanten bzw Hersteller

$
0
0

Hat von den Programmierern hier jemand eine Erweiterung mal geschrieben, welches die Bestellungen nach Hersteller bzw Lieferanten splittet.

Heisst: Bei 2 Positionen mit unterschiedlichen Herstelllern, werden nach Abschluss 2 Bestellungen angelegt.

ListProductService mit Staffelpreise dekorieren

$
0
0

Hallo,

ich habe den ListProductService mit Staffelpreise dekoriert. Dazu verwende ich den GraduatedPricesService. Das funktioniert auch soweit. Es existieren Objekte mit Staffelpreisen.
Jedoch sind alle Preise in Netto. Was muss ich generell noch tun, damit die Preisberechnung passt? Shopkunden haben Bruttopreise, Händler haben Nettopreise etc....

Hat jemand eine Idee oder vielleicht sogar ein Beispiel?

Danke und Gruß

Markus

best practice - Plugin Block wählen und überschreiben

$
0
0

Moin, ich kann es schlecht im Satz erklären und würde gern wissen ob es eine bessere Praxis gibt hierzu:

Was will ich erreichen: Der User soll sich im Plugin aussuchen welchen hinterlegten Block er überschreiben will.

Wie ich es bisher löste: In der createConfig() ein select-box mit mehrere Blocknamen hinterlegt. Anschliessend im Template die Blöcke eingepflegt und innerhalb eine If/else Frage und je nachdem entweder Block überschrieben oder smarty.block.parent returnt.

{block name="a"}
 {if $config->blockA}
   überschreiben
 {else}
   {$smarty.block.parent}
 {/if}
{/block}

{block name="b"}
 {if $config->blockB}
   überschreiben
 {else}
   {$smarty.block.parent}
 {/if}
{/block}

Danke und Gruss

[EDIT: Block-Model vereinfacht]

[EDIT2: Was ich verhinder will ist eigentlich, dass ich jedes mal "überschreiben" Code mehrmals drin habe.]

Config vom jeweiligen Subshop abrufen

$
0
0

Hallo zusammen,

ich habe folgenden Code in meiner Bootstrap.php eines Plugins:

    public function onCollectLessFiles()
    {
		$config = $this->Config();
		$theme = $config->wa_theme;

		...
    }

Hierbei erhalte ich aber immer die Werte vom Hauptshop. Wie kann ich die Werte vom jeweiligen Subshop abrufen?

Angelegt wurden die form-Felder mit: 'scope' => \Shopware\Models\Config\Element::SCOPE_SHOP

Viele Grüße und Danke vorab,
Frank

Preise ausblenden

$
0
0

Guten Abend,

ich habe vermehrt Anfragen unserer Händler bekommen, Preise auf Wunsch ausblenden zu können. Im Prinzip sollte jedem registrierten die Möglichkeit gegeben sein, im Kundenkonto z.B. mit einem Haken die Preise an- oder auszublenden. Dazu sei als Hintergrund noch kurz angemerkt, dass wir rein B2B vertreiben und unsere Händler bei Kundenfragen vor Ort gerne zusammen mit dem Kunden im Shop suchen...und da ist es natürlich hinderlich wenn der Endkunde Einkaufspreise sähe.

Ist das einfach umzusetzen? Falls ja, wie? Falls komplizierter an der Stelle die Frage, ob es mir jemand auf Stundenbasis programmieren könnte?

 

VIele Grüße

Fabi

Name des Bearbeiters auf Rechnung

$
0
0

Hallo zusammen,

wir möchten bei jeder Bestellung den Namen des zuständigen Mitarbeiters auf der Rechnung angeben. Dies soll im Backend bei den Bestellungen eingegeben werden. Hat jemand eine Idee wie wir das realisieren können? Das Feld "Dokumentkommentar" hilft leider nicht weiter, da die eingegebenen Daten nicht gespeichert werden.

Besten Dank im Voraus!


Komplettes Verzeichnis Disallow:

$
0
0

Hallo,

ich möchte ein Testsystem (in einem Unterverzeichnis) parallel zu meinem Liveshop installieren.

Kann mir jemand sagen wie ich das Verzeichnis für alle Bots (Google, Bing usw.) sperren kann.

Mein Live System sollte natürlich hiervon unberührt bleiben.

 

Danke

Tom

Varianten Konfiguration - Unterschied zwischen "Standard" und "Auswahl"

$
0
0

Hallo, ich verwende aktuell das Responsive-Shopware-Theme und habe testweise Varianten zu einem Artikel definiert. Leider sehe ich keinen Unterschied zwischen "Standard" und "Auswahl" bei der Art des Konfigurators. Klar, bei "Auswahl" erscheint noch ein "Auswahl zurücksetzen"-Button, der Rest ist aber gleich. Im Wiki steht, dass man bei "Auswahl" nur Schritt für Schritt die Varianten auswählen kann. Was hat es damit auf sich?

 

keine bilder bei plugin Unterkategorien im Kategorielisting

$
0
0

ich habe das plugin  Unterkategorien im Kategorielisting von sixmedia gekauft,

seit umstellung auf SSL werden jedoch die bilder der unterkategorien nicht mehr gezeigt

ich habe schon 2 mal an sixmedia geschriebe, aber seit wochen keine antwort bekommen. vielleicht kann mir hier jemand helfen, denn ich glaube, es ist nur ein kleiner fehler:

es wird einfach eine falsche URL geladen: im quelltext steht als background-url: /media/image/koerper.jpg

dabei müsste es /media/image/e6/3b/39/koerper.jpg lauten, mit diesem link würde es auch richtig angezeigt werden, aber im quelltext ist steht sCategory.media.path - das sollte doch korrekt sein??

was führt dazu, dass statt /media/image/e6/3b/39/koerper.jpg der link /media/image/koerper.jpg ausgegeben wird?

 

danke!

 

 

Backend Extensions

$
0
0

Hallo,

ich will im Backend die Kunden Detail ansicht um einen Tab erweitern. Mithilfe eines Plugins. Hierzu habe ich mich an diese Dokumentation von Shopware gehalten (https://developers.shopware.com/developers-guide/backend-extension/#extending). Leider funktioniert es nicht. Ich bekomme keine Fehler und nichts. Ich habe auch schon das Plugin von der Seite runtergeladen und eingebunden, auch hier passiert rein garnichts.

Vielleicht könnt ihr mir weiterhelfen.

Verwendet wird Shopware 5.2.16

Attribut im Backend im positionGrid speichern

$
0
0

Hallo

Ich speichere im Backend in der BEstellung unter Positionen die Spalte um ein Attribute erweitert welches eine checkbox als Editor aufweist.

Dazu habe ich mich an die Anleitung von
https://developers.shopware.com/developers-guide/attribute-system/

gehalten und den Controller 

Shopware.apps.Order.controller.Detail'

erweitert.

Soweit war die Umsetzung auch recht einfach und alles funktioniert auch soweit.

Das einzige Problem ist, dass beim Refresh des Grid Rows den Text der Checkbox (TrueText /FalseText nicht gesetzt bekomme.

 

    onSavePosition: function(editor, e, store, options) {
        var me = this;

        originalCallback = options.callback;
        if ((e.newValues.md_express != e.originalValues.md_express) && e.record.internalId > 0) {
                var customCallback = function (position, success) {
                    Ext.callback(originalCallback, this, arguments);
                    Ext.Ajax.request({
                        method: 'POST',
                        url: '{url controller=AttributeData action=saveData}',
                        params: {
                            _foreignKey: e.record.internalId,
                            _table: 's_order_details_attributes',
                            __attribute_md_express: Number(e.newValues.md_express)
                        },
                        success: function(response){
                            //reload of the orderList Grid
                            me.getOrderList().store.load();

                            //reload the grid row of position
                            var selectedRowIndex=e.grid.getSelectionModel().getCurrentPosition().row;
                            var selectedRowRecord=e.grid.getStore().getAt(selectedRowIndex);
                            selectedRowRecord.set('md_express',Number(e.newValues.md_express));
                            selectedRowRecord.commit();

                        }
                    });
                };
            if (!options.callback || options.callback.toString() !== customCallback.toString()) {
                options.callback = customCallback;
            }

        }
        me.callParent([editor, e, store, options]);
    }

 

Viewing all 2871 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>