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

Controller Action ersetzen

$
0
0

Hallo,

gerade versuche ich mich an meinem ersten Shopware Plugin, ich bitte also etwas um Nachsicht ;-)

Ich möchte eine Action in einem Controller teilweise ersetzen.

Wie gehe ich hier genau vor?

Ich habe bereits das Event "subscribed" und die richtige Action in dem Controller gefunden. Hier möchte ich eigentlich zunächst einmal eine Zeile austauschen.

Gibt es eine möglichkeit den Code von der Funtion im Controller ins Plugin zu kopieren und dann nach Belieben anzupassen?

Vielen Dank im Vorraus,

Sebbo


ProductStreams - Neuheiten Sortierung ändern

$
0
0

Hallo zusammen,

wir haben eine Neuheiten-Stream erstellt und unserer Kategorie "Neuheiten" diesen Stream zugewiesen.

Jetzt haben wir eine Kategorie, in der automatisch alle Neuheiten angezeigt werden. Soweit klasse.

Wir kann ich das jetzt aber umdrehen, dass die neuesten Artikel immer oben / vorn stehen und die schon etwas älteren Neuheiten unten?

Aktuell setzt der Stream ganz heue Artikel immer am Ende dran... :-(

[Gelöst] Plugin-Event - getAssign View Variable

$
0
0

Hallo, 

wie bekomme ich über "$view->getAssign();" bestimmte Variablen?
Ich brauche die Aktuelle CategoryID vom aktuellen Kategorie-Listing und wenn ich es mit:
"$sCategoryID = $view->getAssign('sCategoryCurrent');" versuche bekomme ich NULL zurück.

Eine weitere Frage die ich hätte, gibt es eine Möglichkeit die Template-Variablen(Smarty) zu bekommen?
Bei sArticles hat es funktioniert, aber nicht bei sCategoryCurrent.

Vielen Dank, 
Brian
 
 

Belegerstellung PDF - Änderung Rechnungsvorlage index.tpl (gelöst)

$
0
0

Guten Morgen Zusammen,

ich versuche gerade etwas an der tpl Vorlage index.tpl abzuändern. Es soll anstatt Rechnung NR. nur Rechnung dort stehen.

Wie folgt bin ich vorgegangen

1. In den Shopeinstellungen das Dokumententemplate auf mein eigenes Theme umgestellt

2. Die Datei index.tpl aus dem Verzeichnis themes/Frontend/Bare/documents in das documents Verzeichnis meines eigenen Themes kopiert.

3. In der Vorlage das Wort Rechnung Nr. durch Rechnung ersetzt.

4. Cache gelöscht

Leider werden die Änderungen bei der PDF Erstellung nicht angezeigt. Testweise habe ich zusätzlich die index.tpl im Bare Theme geändert. Jedoch wieder ohne Erfolg.

Hat jemand eventuell das selbe Problem, bzw. vielleicht mache ich auch etwas falsch?

 

Vielen Dank im Voraus

 

Warenkorb Button im Listing ohne Weiterleitung

$
0
0

Hey Leute,

ich wollte gerne einen Warenkorb Button im Listing einbinden, das hat auch soweit ganz gut mit folgendem Code geklappt:

<form name="sAddToBasket" method="post" action="{url controller='checkout' action='addArticle'}" class="buybox--form" data-add-article="true" data-eventname="submit" data-showmodal="false" data-addarticleurl="{url controller='checkout' action='ajaxAddArticleCart'}">
<input type="hidden" name="sAdd" value="{$sArticle.ordernumber}">
<input type="hidden" name="sQuantity" value="1">
<button class="buybox--button block btn action--to-basket is--primary is--icon-right is--center is--small" name="{s name='ButtonToBasket'}In den Warenkorb{/s}">
{s name='ButtonToBasket'}In den Warenkorb{/s} <i class="icon--arrow-right"></i>
</button>
</form>

Mein Problem ist jetzt, dass bei Klick auf den Button direkt weitergeleitet wird zum Warenkorb. Ich hätte es aber gerne so, dass genau wie bei der Detailseite einfach rechts in der Leiste kurz der Warenkorb eingeblendet wird.

Jetzt schonmal vielen Dank für eure Hilfe.

Spalte unter Bestellungsdetails Positionen hinzufügen

$
0
0

Hallo Zusammen,

ich habe für mene Artikel ein Attribut erstellt welches den Artikel lagernd/nicht lagernd kennzeichnet.

Gerne würde ich dieses in der Ansicht unter Bestellungs-Details -> Postionen anzeigen lassen um so schnell bei Bestellungen zu sehen welche Artikel lagernd und nicht lagernd sind.

Hat jemand einen Ansatz wie ich die Ansicht um eine weitere Spalte ergänzen kann?

SQL Fehler bei update

$
0
0

Hallo liebe Leute, 

Leider ging bei unserem Update von 5.1.6 auf 5.2.x einiges schief.  Er bringt mir mehrere Tabellen,  die schon bereits vorhanden sind.  Die sind ja kein Problem, da sie leer sind,  werden die einfsch gelöscht, und beim nächsten updaterun wieder eingefügt.  Aber leider hänge ich bei folgenden Fehler.  Ich verstehe ,  dass ihm die Spalte plugin_id fehlt.  Aber in welcher Tabelle?  Jemand ein Tipp?  

Error

Received the following error message:
Could not apply migration (Migrations_Migration708). Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'plugin_id' in 'field list' 

Please try to fix this error and restart the update.

Response

{"valid":false,"errorMsg":"Could not apply migration (Migrations_Migration708). Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'plugin_id' in 'field list' "}

 

Danke für eure Bemühungen 

Zahlungsstatus einer Bestellung in PDF Beleg übernehmen

$
0
0

Liebe Shopware Community,

 

wir nutzen Shopware in der Version 5.2.1 und arbeiten mit der normalen, internen PDF Belegerzeugung. Wir würden in erzeugten Rechnungen gerne Bezug auf den Zahlungsstatus einer Bestellung nehmen, konnten aber keine entsprechende Variable finden. Die Templating-Struktur der .tpl-Dateien ist uns klar und wir können damit gut arbeiten. Wir würden bei dem Status "Komplett bezahlt" gerne einen entsprechenden Hinweis auf die Rechnung drucken.

 

Meine Frage: Gibt es eine Variable, die den Zahlungsstatus enthält?

 

Herzlichen Dank und viele Grüße

Julian Gerhard

 


Frage zu ListProductService dekorieren

$
0
0

Ich habe mit folgendem Script den ListProductService um weitere Bilder dekoriert. Das funktioniert auch soweit. Es existieren Objekte mit weiteren Bilddaten.

Nun habe ich Verständnisprobleme wie ich in meinem Smarty Template darauf zugreife. Kann mir jemand ein konkretes Beispiel geben?

<?php
namespace ShopwarePlugins\AmbicoAddDataToProduct\StoreFrontBundle;

use Shopware\Bundle\StoreFrontBundle\Service\ListProductServiceInterface;
use Shopware\Bundle\StoreFrontBundle\Service\MediaServiceInterface;
use Shopware\Bundle\StoreFrontBundle\Struct;

class ListProductService implements ListProductServiceInterface {
    private $service;
    private $mediaService;

    function __construct(ListProductServiceInterface $service, MediaServiceInterface $mediaService) {
        $this->service = $service;
        $this->mediaService = $mediaService;
    }

    public function getList(array $numbers, Struct\ProductContextInterface $context) {
        $products = $this->service->getList($numbers, $context);
        $media = $this->mediaService->getProductsMedia($products, $context);

        foreach($numbers as $number) {
            $product = $products[$number];
            
            if(isset($media[$number])) {
                $attribute = new Struct\Attribute(['images' => $media[$number]]);
                $product->addAttribute('moreimages', $attribute);
            }
            $products[$number] = $product;

        }

        return $products;
    }

    public function get($number, Struct\ProductContextInterface $context) {
        $products = $this->getList([$number], $context);
        return array_shift($products);
    }

}

 

In meinem Smarty Template sehe ich mit folgendem Script das Objekte weiterer Bilder existieren. Möchte ich jedoch auf ein Feld zugreifen kommt folgende Fehlermeldung 

Cannot use object of type Shopware\Bundle\StoreFrontBundle\Struct\Attribute as array in ...

 

{if $sArticle.attributes.moreimages}
    {$ambicomoreimages = $sArticle.attributes.moreimages}
    {$moreimages=$ambicomoreimages->get('images')}

    {foreach $moreimages as $image}

        {$image|@var_dump}

    {/foreach}
{/if}

 

 

 

Emailvorlage sOrder Nachbau

$
0
0

Hallo,

ich bin an der Entwicklung eines Plugins. Durch einen CronJob soll eine Funktion aufgerufen werden, die zu einer Bestellung alle Daten, ähnlich den verfügbaren Daten (order, orderdetails und user) zur "sOrder"-Emailvorlage ermittelt. Damit soll dann eigene E-Mail Vorlage gefüttert werden. Das ganze soll in einer Funktion der Bootstap.php stattfinden (Frage am Rand: Kann dies auch in eine andere Datei (Model) ausgelagert und in der Bootstrap aufgerufen werden?).

Kann ich mir ein Order-Objekt durch die Klasse "engine/Shopware/Core/sOrder.php" erstellen? Darin gibt es die Funktion "createStatusMail", in der dieses Array zusammengestellt wird.

Oder gibt es dafür eine bessere Vorgehensweise?

Danke,

Gruß Peter

Einkaufswelt nach Filtern nicht mehr sichtbar

$
0
0

Moin,

ich habe über dem Listing eine Einkaufswelt eingebunden. Jetzt tritt folgendes Problem auf: sobald die Produkte gefiltert werden, ist die Einkaufswelt darüber weg, d.h. nicht mehr sichtbar. Ich vermute das liegt daran, dass das Filtern über AJAX geschieht und die Einkaufswelt nicht nachgeladen wird. Kann mir an dieser Stelle jemand weiterhelfen, in welcher javascript-Datei ich an welcher Stelle die Einkaufswelt nachladen muss? Ist der folgende Code richtig?

StateManager.updatePlugin('*[data-modalbox="true"]', 'swEmotionLoader');

 

[Gelöst][Plugin] Mehrere Events Subscriben

$
0
0

Hallo, 

ich möchte über mein Plugin Bootstrap mehere Events Subscriben. 

Wie folgt:

/**
 * Register Eventhandler method
*/
private function registerEvents() {
     $this->subscribeEvent(
        'Enlight_Controller_Action_PostDispatchSecure_Frontend_Detail',
        'onPostDispatchDetail'
      );

      $this->subscribeEvent(
          'Enlight_Controller_Action_PostDispatchSecure_Frontend_Listing',
           'onPostDispatchListing'
       );

       $this->subscribeEvent(
           'Enlight_Controller_Action_PostDispatchSecure_Frontend_Search',
           'onPostDispatchSearch' );
       }

}

Meine Frage wäre, kann man nur ein Event Subscriben oder wo liegt der Fehler?

Was vielleicht auch noch falsch ist:

public function onPostDispatchDetail(Enlight_Event_EventArgs $arguments)
{
    /**
    * Add Template directory to global Template Scope
    */
    $view->addTemplateDir($this->Path() . 'Views/detail/');
}

Ich deklariere für jedes Event den dazugehörigen View ordner, ist das auch falsch?

Vielen Dank, 
Brian Schäffner

ich wollte den Checkout Controller bei Shopware 5 überschreiben.Finde irgendwie keine Anleitung dazu

$
0
0

Hallo Leute, kann mir evtl jemand helfen.

Ich wollte eine Funktion die bei der Action finish aufgerufen wird überschreiben.

bootstrap:

...

$this-&gt;subscribeEvent(
    'Enlight_Controller_Dispatcher_ControllerPath_Frontend_Checkout',
    'onFrontendCheckoutDispatcher'
);

...

public function onFrontendCheckoutDispatcher(Enlight_Event_EventArgs $args)
{
    if($args-&gt;getRequest()-&gt;getActionName() == 'finish')
    {
        return $this-&gt;Path() . '/Controllers/CheckoutShipping.php';
    }
}

Die Datei CheckoutShipping.php:

class Shopware_Controllers_Frontend_CheckoutShipping extends Shopware_Controllers_Frontend_Checkout
{
    public function getSelectedDispatch()
    {
        die('TEST');
    }
}

Damit wollte ich die Funktion "getSelectedDispatch" abändern. Es kommt aber nicht rein. Hilfe !!!

Shopware-Freelancer / Shopware-Programmierer gesucht!

$
0
0

Hallo zusammen,

wir suchen einen Shopware-Freelancer / Shopware-Programmierer (m/w) der/die kurzfristig an unserem Shopware-Shop:

* ein paar einfache Anpassungen an den Templates machen kann

* Textbausteine, PDF anpassen kann

* das Design des Shops ändern kann

* Plug in installieren

* SEO optimieren

* Shop vor dem Go-Live komplett durchcheckt

* als Shopbetreuer für laufende Anpassungen bei Bedarf zur Verfügung steht

Bei Interesse freuen wir uns über eine Mail mit Kontaktdaten, Erfahrungswerten und Vorstellung über die Abrechungsweise (Stundensatz oder Pauschal) an post@all4vapers.de oder hier per PN.​

Freuen uns auf Eure Nachrichten!

 

Viele Grüße sendet

Alexander

Plugins 5.2 -> Wohin mit der Dokumentation?

$
0
0

Hallo zusammen,

Kann mir jemand sagen, wo die Plugindokumentation bei einem 5.2er Plugin (XML Config) hingehört? Im plugin.xsd habe ich dahingehend nichts gesehen.

Danke Euch im Voraus,
LG

__________________________________________________
Konnte ich Dir helfen? Dann freue ich mich über ein Danke ;)


Globale Variabeln

$
0
0

Hallo zusammen,

ich habe vorhin das Update auf 5.2.2 gemacht, und seid dem werden mir globale Variablen nur noch auf den Checkoutseiten zur Verfügung gestellt. Ist hier etwas bekannt?

 

Unten ist der Code, der bis vorhin noch Einwandfrei funktioniert hat. Angezeigt wird es nur auf den Artikeldetailseiten und Kassenseiten!

 

?php


/**
 * Global Vars Plugin
 */
class Shopware_Plugins_Frontend_Data_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{


    /**
     * Install plugin method
     *
     * @return bool
     */
    public function install()
    {
        $this-&gt;subscribeEvents();

        return true;
    }


    private function subscribeEvents()
    {
        $this-&gt;subscribeEvent(
            'Enlight_Controller_Action_PostDispatchSecure_Frontend',
            'onPostDispatch'
        );
    }


    /**
     * @return array
     */
    public function getInfo()
    {
        return array(
            'label' =&gt; $this-&gt;getLabel()
        );
    }

    /**
     * @return string
     */
    public function getLabel()
    {
        return 'Data';
    }


    /**
     * Event listener method
     *
     * @param Enlight_Controller_ActionEventArgs $args
     */
    public function onPostDispatch(Enlight_Controller_ActionEventArgs $args)

    {

        $view = $args-&gt;getSubject()-&gt;View();

        $dataID = 123;

        $view-&gt;assign('plugin_data_data', $dataID);
    }

}

 

 

 

Ordermatrix erstellen

$
0
0

Hallo,

für unseren B2B Store hätten wir gerne eine Ordermatrix um schnelles Bestellen mit unterschiedlichen Variablen zu erleichtern.

Hier ein Beispiel:

image

 

Beste Grüße

Nicolas

Dynamische Antwort der REST API?

$
0
0

Hallo,

ich habe das Beispiel für die REST API aus der Dokumentation benutzt. Momentan mache ich es so, das ich über einen Upload Button eine CSV-Datei hochlade und diese dann mit PHP durchlaufen lasse. Dann schicke das ganze weg. Wie kann man das dynamischer gestalten. So nach dem Motto eins weg geschickt, danach gleich Ausgabe ob Erfolg oder Fehler.

Geht das nur mit Javascript? Und wenn ja, gibt es dafür irgendwo Beispiele?

Rückmeldung von REST API übersetzen?

$
0
0

Hallo,

wo finde ich in der Dokumentation die Möglichkeit die Rückmeldung zu übersetzen?

Also so was wie:

Article by number SW10001 not found

Ich habe den API Client aus der Dokumentation benutzt und etwas verändert.

OneToMany-Assoziation Detail-Ansicht

$
0
0

Hallo zusammen,

ich habe eine Frage zum Tutorial "Backend Components - Associations". https://developers.shopware.com/developers-guide/backend-components/associations/

Und zwar zur Ext.JS Implementierung der OneToMany-Assoziation zwischen Produkten & Varianten. Da steht im Tutorial:

The Shopware.grid.Panel component can then implement their own detail view in order to edit the variants.

Und genau bei diesem Punkt komme ich nicht weiter. Ich würde dann also im Panel noch das detailWindow konfigurieren:

    configure: function() {
        return {
            detailWindow: 'Shopware.apps.SwagProduct.view.detail.VariantDetails'
        };
    }

Ich weiß aber nicht wie ich die View selbst dann konfigurieren muss. 

Ext.define('Shopware.apps.SwagProduct.view.detail.VariantDetails', {
    extend: 'Shopware.model.Container',
    padding: 20
    [?...?]
});

Kann mir da jemand weiterhelfen? Es tut sich nach wie vor nichts beim Klick auf Hinzufügen ;) 

Vielen Dank und beste Grüße!

Viewing all 2871 articles
Browse latest View live


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