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

Backend Plugin - Menü Aufruf 404

$
0
0

Moin,

ich versuche mein Plugin von 4 auf 5 umzustellen und habe ein Problem im Backend. Das Plugin erzeugt einen neuen Menüpunkt im Backend und der ist auch zu sehen. Sobald ich da rauf klicke bekomme ich einen Shopware Fehlerreport, wie in angehängtem Bild zu sehen. Findet er irgwendwelche Dateien nicht? Wo erkenne ich, was fehlt / falsch ist?

image

 


notifyUntil-Event (Shopware_Modules_Order_SendMail_Send) kann nicht unberbunden werden

$
0
0

Hallo,

ich versuche ein Plugin zu schreiben welches beim Email-Versand eingreift. Hierfür habe ich mich einen Listener an das Event 'Shopware_Modules_Order_SendMail_Send' gehängt.

Mein Code wird auch ausgeführt, nur schaffe ich es nicht, den Versand der Originalmail zu unterbinden. In der Dokus steht "Return null if you want Shopware to proceed; return anything else to stop Shopware from proceeding.

Egal was ich zurück liefere in meiner Funktion, die Originale Mail wird versendet.

Kann mir jemand weiterhelfen was ich falsch mache?

[Suche Plugin] Varianten mit gestaffelten Auf- und Abschlägen + Einmalkosten

$
0
0

Hallo Shopware Community,

ich bin aktuell auf der Suche nach einem Plugin, das Varianten mit gestaffelten Auf- und Abschlägen inkl. einmaliger Fixkosten darstellt. Da ich aktuell vor dem Problem stehe meine Shop URL nicht validieren zu können ist das Testen der Plugins im Store auch nicht möglich. Meine erste Überlegung war erstmal das Custom Products Plugin (http://store.shopware.com/swag00498/custom-products.html), aber im Demoshop schien mir das ganze nicht umsetzbar. Ein weiteres Plugin sind die Produktoptionen von @MatthiasH‍, zu denen ich aber leider keine Demo fande, wo Einmalpreise aber möglich sind, so wie es scheint.

Prinzipiell dachte ich hier an eine Art Simple Configurable Products, wie ich es von Magento kenne und was z. B. z. B. hier und hier im Einsatz ist. Ich weiß, dass ähnliche Fragen schon öfter gestellt wurden aber bisher gab es keine klare Aussage, die mir hier weiter helfen würden. Vor kurzem fande ich dann jedoch einen auf Shopware basierenden Shop, der diese Art der Preiskalkulation hatte (siehe hier). Ich bin mir jedoch nicht sicher, ob es das oben erwähnte Produktoptionen-Plugin ist oder eine (externe) Eigenentwicklung, die nicht verfügbar ist,

Noch mal zur Übersicht. Folgende Kalkulation sollte machbar sein, wenn ich Variantenartikeln mit Auf- bzw. Abschlägen einrichte:

Stück ab 1 50 10 bzw.   1 50 10
€ / Stück 1,00 € 0,95 € 0,90 €     1,00 € 0,95 € 0,90 €
+ Siebdruck 1-farbig 0,20 € 0,15 € 0,10 €   + Siebdruck 2-farbig 0,40 € 0,35 € 0,30 €
+ variable Kosten Druck 1-farbig 50 €   + variable Kosten Druck 2-farbig 100 €

Wenn mir wer mit dem Problem helfen oder sagen kann, ob das Plugin Produktoptionen genau die Umsetzung unterstützt oder was es mit der Kalkulation im Präsenta-Shop auf sich hat wäre ich sehr dankar!

Backend Plugin, eigener Style über SASS?

$
0
0

Salut,

wir betreiben mehrere Shopware Installationen. Da aktuell die Backends identisch ausehen, würden wir den Style gerne anpassen und haben dazu ein kleines Plugin geschrieben, welches eine zusätzliche CSS für das Backend lädt.

 

Schöner wäre es nun, wenn wir das parametrisieren könnten und über die Pluginkonfiguration steuern könnten (also dem Plugin alle notwendigen Informationen für den Style mitgeben). Im Backend wird SASS genutzt und es ist mir ein Rätsel, wie ich das nun einbinden kann.

 

Aktuell erweitern wir einfach die header.tpl (und in der entsprechenden Datei rufen wir die eigene CSS auf):

 

    public function onPostDispatchBackendIndex(Enlight_Event_EventArgs $args){
        $view = $args->getSubject()->View();
        $view->addTemplateDir($this->Path() . 'Views/');

        $view->extendsTemplate('backend/SvtStyleR2B/header.tpl');
    }

 

Die backend.scss habe ich mir so gedacht:

 

.shopware-menu {
  background: @PrimaryColor !important;
  border-color: @PrimaryColorDark !important;
}

body .shopware-menu .x-main-logo-container {
  background:  url('data:image/png;base64,erere') no-repeat;
  z-index: 1;
  width: 38px !important;
  height: 40px !important;
  margin: -11px 0 0 -15px !important;
}

.shopware-menu .searchfield tbody .x-form-item-body{
  background:@SecondaryColor;
  border-bottom:1px solid #3baafa;
  border-radius:14px;
  padding:0 0 0 0;
  height:26px;
  width:auto !important;
  -webkit-box-shadow:inset 0 2px 0 @SecondaryColor;
  -moz-box-shadow:inset 0 2px 0 @SecondaryColor;
  box-shadow:inset 0 2px 0 @SecondaryColor;
}

Wie bekomme ich nun die Daten aus der Config in die SCSS Datei?

API PROBLEM with filter orders by orderStatusId

$
0
0

Hi,

I try to get a list of orders <> canceld and <> completed to sync the stock with a pos system.

But every time I get the error:

{"success":false,"message":"Errormesage: [Semantical Error] line 0, col 131 near 'orderStatusId': Error: Class Shopware\\Models\\Order\\Order has no field or association named orderStatusId"}

I use an own perl api, not the php api, so here is the link which is called:

https://shop.domain:443/api/orders?filter[0][expression]==&amp;filter[0][value]=0&amp;filter[0][property]=orderStatusId

decoded:

https://shop.domain.com:443/api/orders?filter[0][expression]==&filter[0][value]=0&filter[0][property]=orderStatusId

Other properties works fine. E. g. invoiceAmount:

https://shop.domain:443/api/orders?filter[0][property]=invoiceAmount&amp;filter[0][value]=10&amp;filter[0][expression]=>=

decoded:

https://shop.domain:443/api/orders?filter[0][property]=invoiceAmount&filter[0][value]=10&filter[0][expression]=>=

Any ideas?

 

Best regards

Daniel

 

 

 

 

Dynamische Preisermittlung und Größeneingabe

$
0
0

Hallo zusammen,

Aktuell bin ich mit einem Partner dabei einen Shop für einen Kunden umzusetzen. Dabei sind wir jetzt an eine Problematik gekommen, wo ich nicht wirklich weiter weiß. Kurz zur Erläuterung:
Ein Teil der Artikel soll in der Größe frei definiert werden können. Es handelt sich hier um Drucke die in Auftrag gefertigt werden, dabei ist die Größe frei einstellbar "von bis cm". Heißt konkret der Endkunde klickt sich über Varianten sein Produkt zusammen und eine Auswahlmöglichkeit bei den Varianten soll die eingabe eine Größe sein.

Der Maximalpreis steht auf der entsprechenden Variante. Für die Ermittlung der Preise steht ein Backend zur Verfügung, dass per HTTP angesprochen werden kann. Diesem werden die Daten zu den Varianten und der Größe übergeben,  woraus über relativ komplexe Abhängigkeiten der Preis berechnet wird. Dieses Backend habe ich über einen Hook an sGetArticle gehängt. Damit funktioniert die Anzeige und das auswählen der Varianten auch wirklich gut. Allerdings wird im sBasket der Artikel direkt aus der Datenbank geholt, womit der Hook nicht greift. Außerdem kann es in diesem Umfeld passieren, dass zwei Artikel mit der selben Artikelnummer aber unterschiedlichen Preisen im Warenkorb liegen (unterschiedliche Größe).

Ist das mit Shopware überhaupt möglich ohne den kompletten Warenkorb umzuschreiben?
Kann ich im Warenkorb weitere Informationen zu einem Artikel speichern? (Größe)
Kann ich zwei Artikel mit der selben Artikelnummer in den Warenkorb legen?
Gibt es über das Hook System eine Möglichkeit eine komplette Klasse auszutauschen?

Ich hoffe mir kann hier jemand weiter helfen und ein paar Tipps geben. Dafür bedanke ich mich schon einmal im voraus.

Viele Grüße
Nikolas Meyer

Ajax Request erkennen und anderes Template zuweisen

$
0
0

Hallo.

Ich arbeite mich gerade in die Shopware und stehe manchmal etwas auf dem Schlauch.

Ich möchte mit einem Plugin ermöglichen, dass der Content eines Herstellers auch per Ajax geladen werden kann. Dann aber ohne Header und Footer.

Daraus ergeben sich mehrere Fragen.

1. Wie kann ich in meinem Event einen Ajax Request erkennen?

2. Wie weise ich der bestehenden Action "manufacturerAction" aus dem Controller "Listing" ein neues Template zu? Oder übergebe ich am besten eine Variable $isAjax an das bestehede Template und checke dort per {if $isAjax} den Request?

3. Kann es sein, dass ich die einen CSRF Token mitsenden muss?

Bisher sieht die Bootsrap so aus:

 

_________________________

<?php
class Shopware_Plugins_Frontend_DMOManufacturers_Bootstrap
    extends Shopware_Components_Plugin_Bootstrap
    
       
    public function getLabel()
    {
        return 'Listing Manufacturers';
    }


    public function install()
    {
           
         $this->subscribeEvent(
            'Enlight_Controller_Action_PostDispatchSecure_Frontend',
            'onListingManufacturer'
        );

        return true;
        
    }
    
    public function onListingManufacturer(Enlight_Event_EventArgs $args)
    {
        $controller = $args->get('subject');
        $view = $controller->View();
                        
        $view->addTemplateDir(
            __DIR__ . '/Views'
        );
    

    $actionName = $args->getSubject()->Request()->getActionName();
    
        if($actionName == 'manufacturer') {
                //Hier das Template zuweisen???
                $isAjax = "Wie kann ich das checken?"
        $view->assign('isAjax',$isAjax);
    }

      }
}

 

________________

(Als Codeschnipsel wird es nicht richtig dargestellt)

 

Gruß
ellwe

Tooltip Login Link ?

$
0
0

 

Hallo,

 

ich habe ein Tooltip erstellt welches bei Mein Konto erscheint.

Es funkionieren auch alle links außer der Login Button,
da stehe ich auf den Schlauch und benötige hilfe.

Wenn ich Mailadresse & PW Eintrage dann auf Login klicke soll man eingeloggt werden.

 

Hier der Block name Code:

 

{block name="frontend_index_checkout_actions_my_options"}
	&lt;li class="navigation--entry entry--account" role="menuitem"&gt;
&lt;style&gt;
/* Tooltip container */
.tooltip {
    position: relative;
    top: 7px;
    display: inline-block;
    border-bottom: 0px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 380px;
    background-color: #fff;
    color: #000;
    text-align: center;
    padding: 10px 0;
    border-radius: 10px;
    top: 110%;
    left: 50%;
    margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */

    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
}
&lt;/style&gt;
&lt;div class="tooltip"&gt;Mein Account
&lt;span class="tooltiptext"&gt;
&lt;header&gt;
		&lt;nav class="page"&gt;
&lt;div class="quicklogin_header"&gt;
    &lt;form action="http://zensiert.com/account/user/login/&quot; method="post" id="login-form"&gt;
                &lt;input name="form_key" style="background-color:#FFFFFF;border: 0px solid #FFFFFF;" type="hidden" value="Eog9Iesl00gOL4Qz" /&gt;
        &lt;h3 class="login-register-form_title"&gt;
            Angemeldete Benutzer&lt;/h3&gt;
        &lt;fieldset&gt;
            &lt;div class="text input-box"&gt;
                &lt;label for="login[username]"&gt;e-Mail&lt;/label&gt;
                &lt;input type="text" style="background-color:#FFFFFF;border: 0px solid #FFFFFF;" name="login[username]" value="" id="email" class="input-text required-entry validate-email" title="Email Address" placeholder="email@beispiel.de" /&gt;
            &lt;/div&gt;
            &lt;div class="text input-box"&gt;
                &lt;label for="email"&gt;Passwort&lt;/label&gt;
                &lt;input type="password" style="background-color:#FFFFFF;border: 0px solid #FFFFFF;" name="login[password]" value="" id="passwd" class="input-text required-entry validate-password" placeholder="Dein Passwort" /&gt;
            &lt;/div&gt;

            &lt;div class="forgot-password login-form"&gt;
                &lt;a href="http://zensiert.com/account/password/&quot; rel="nofollow"&gt;Passwort vergessen ?&lt;/a&gt;
            &lt;/div&gt;


{* Remember Me Box *}

            &lt;div class="submit login-form"&gt;
                &lt;input id="do_customer_login" type="submit" class="button" value="Login" /&gt;
            &lt;/div&gt;
            &lt;input type="hidden" name="current_url" value="http://zensiert.com/account/create/&quot; /&gt;
            &lt;input id="redirect_after" type="hidden" name="redirect_ok" value="http://zensiert.com/account/account/create/&quot; /&gt;
        &lt;/fieldset&gt;
    &lt;/form&gt;


    &lt;div class="new-users"&gt;
        &lt;h3 class="login-register-form_title"&gt;
            Bisher noch kein Account?        &lt;/h3&gt;
        &lt;p&gt;Melde dich einfach an ...&lt;/p&gt;

        &lt;div class="submit login-form"&gt;
            &lt;input type="button" class="button" onclick="window.location='http://zensiert.com/account/create/';&quot; value="Account Erstellen" /&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
  &lt;/span&gt;
&lt;/div&gt;
{/block}

 


Storytelling - Breadcrumb ausblenden

$
0
0

Hi Community,

gibt es eine Möglichkeit bei Storytelling Seiten die Breadcrumbs auszublenden ? 

 

Gruß Thomas

ist bei Varianten ein Preisaufschlag für unterschiedliche Kundengruppen je Attributioption möglich

$
0
0

Hallo zuammen,

ich habe eine Frage zu Varianten.

Ich habe einige Artikel mit mehr als 1.500 Varianten. Diese entstehen bei Artikeln mit bis zu 10 Attributgruppen mit je bis zu 5 Attributoptionen. Nun kann ich mit der Funktion "Preis Auf-/Abschlag definieren" einen Preisaufschalg pro Attributoption definieren, So weit so gut. Darüber hinaus habe ich aber 2 Kundengruppen. Endkunden und Händler. 

Der pro Attributoption definierte Preisaufschalg  wirkt sich in gleicher Art und Weise auf die Preise für die Endkunden als auch auf die Preis der Händler aus. Ich möchte aber, dass der Preisaufschlag für die Händler geringer ausfällt. Hierfür ist in der Funktion "Preis Auf-/Abschlag definieren" aber kein Eingabefeld vorgesehen. 

So weit ich weiß gab es für Shopware 4 hierzu ein Plugin. Gibt es das auch für Shopware 5? Das Problem sollten doch auch viele andere Shopbetreiber haben? Wie habt Ihr das gelöst? 

Vielen Dank für die Zeit und die Mühe und viele Grüße aus dem sonnigen Norden.

Ingo

exzessive versandkosten berechnung

$
0
0

wenn ich diese funktion richtig lese
https://github.com/shopware/shopware/blob/5.1/engine/Shopware/Core/sAdmin.php#L3412

macht es bei jeden aufruf, ohne wenn und aber:

  1. aktive benutzer versankosten berechnungen ins `$sql_select` addieren
  2. `$sql_select` ins `$sql` addieren
  3. `$sql` in datenbank ausführen

also wäre folgendes eine plugin was logt wie oft die versandkosten berechnet wird:

class Shopware_Plugins_Core_FoobarLogger_Bootstrap
extends Shopware_Components_Plugin_Bootstrap
{
    public function install ()
    {
        $this-&gt;subscribeEvent(
            'sAdmin::sGetDispatchBasket::after',
            'onDispatchBasket'
        );
        return true;
    }
    public function onDispatchBasket (Enlight_Event_EventArgs $args)
    {
        Shopware()-&gt;PluginLogger()-&gt;info("sAdmin::sGetDispatchBasket ausgeführt");
    }
}

wenn man dann (auch leere) warenkorb ausruft, sieht es in unsere aktuellen shopware shop so aus:

[2016-06-16 13:16:30] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"35400d4"}
[2016-06-16 13:16:30] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"35400d4"}
[2016-06-16 13:16:30] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"35400d4"}
[2016-06-16 13:16:30] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"35400d4"}
[2016-06-16 13:16:30] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"35400d4"}

und wenn ich alle plugins deaktiviere, bzw. mit vanilla shopware probiere, kommt es immer noch 3 mal:

[2016-06-16 13:18:56] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"ecf70c8"}
[2016-06-16 13:18:56] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"ecf70c8"}
[2016-06-16 13:18:56] plugin.INFO: sAdmin::sGetDispatchBasket ausgeführt [] {"uid":"ecf70c8"}

habe mit trial-and-error herausgefunden das plugin SwagTrustedShopsExcellence führt sAdmin::sGetDispatchBasket 2 mal aus...

dazu kommt noch das "ins warenkorb addieren" auch sAdmin::sGetDispatchBasket mehrmals ausführt, obwohl es nicht mal versandkosten anzeigt...

das problem ist das unsere versandkosten berechnungen - was shopware vorschreibt als sql zu schreiben - sehr komplex sind, und wenn diese merhmals per request immer neu berechnet wird... suboptimal!

daher, wundere ich:

  • wieso berechnet vanilla shopware versandkosten mehr als einmal pro request?
  • was macht SwagTrustedShopsExcellence 2 mal mit warenkorb?
  • was macht SwagTrustedShopsExcellence überhaupt mit warenkorb wenn noch keine bestellung?
  • wieso berechnet "ins warenkorb addieren" versandkosten?
  • sind die nächsten sql query results pro request wenigstens gecached?

ich versuche das punkt mit sql query result cache zu bestätigen, aber anscheinend kann man mit mysql nur per session profilen, und noch keine ahnung wo shopware mysql session anfängt oder aufhört. tips?

ps. wir haben in unsere plugins - die warenkorb brauchen - von $controller->getBasket() ins Shopware()->Modules()->Basket()->sGetBasket() getauscht. damit bekommt man anscheinend warenkorb inhalt ohne versandkosten berechnung.

Subshopspezifische Pluginkonfiguration in Shopware 5 programmieren

Autoupdate für eigene Plugins

$
0
0

Ist es möglich für selbt programmierte Plugins ein Auto-Update umzusetzen (z.B. mit Angabe der Quelle im Plugin)?

 

Falls ja: wie?

Gastbestellung immer bei Privatkunde aktiv

$
0
0

Hallo,

der Kunde möchte das bei der Eingabe der Kundenbestelldaten (private Kunden)bei "kein Kundenkonto" anlagen immer ein Haken drin ist und nur wenn er den Haken rausnimmt, wird ein Kundenkonto angelegt. Also die Standard genau umgekeht wie eingestellt.

 

Wie kann ich das lösen?

Grüße gerd

Cronjobs am Server einrichten

$
0
0

Hallo zusammen,

bei mir gibt es anscheinend seit geraumer Zeit ein Problem mit den Cronjobs.

Sie werden anscheinend vom Server her nicht mehr ausgeführt.

Aktuell habe ich eine Aufgabe mit folgendem Befehl hinterlegt:
/usr/bin/php /var/www/vhosts/xxxxx/httpdocs/shopware/bin/console sw:cron:run

Wenn ich diesen jedoch ausführen lasse kommt folgende Fehlermeldung:
 

Die Aufgabe "/usr/bin/php /var/www/vhosts/xxxxx/httpdocs/shopware/bin/console sw:cron:run" wurde in 60 Sekunden abgeschlossen, jedoch traten Fehler auf

-: /usr/bin/php: No such file or directory

Die Meldung sagt ja, dass die Datei "php" im Verzeichnis /usr/bin nicht gefunden wurde.

Ich habe dort mal geschaut, diese ist wirklich nicht vorhanden.
Kann auch nicht beurteilen ob diese vorher da war, da ich dort keine Rechte habe irgendetwas zu machen.

Liegt es daran dass die Cronjobs nicht mehr funktionieren?
Wenn ja wie krieg ich diese wieder zum laufen?

Beste Grüße
Daniel


Suche Plugin "Hypo Text an beliebiger Stelle"

$
0
0

Hallo Programmierer,

Hypo Text wird vielen noch nichts sagen. Im Prinzip ist es ein (Text)silder der bei Bedarf auf und zugeklappt werden kann und der an belibiger Stell in einem Dokument (auch mehrfach) eingebunden werden kann. Dafür gibt es für Wordpress z.b. ein Plugin:

https://de.wordpress.org/plugins/hypotext/

Ich suche so etwas für Shopware, dass man an beliebiger Stelle in einem Text (Kategorietext, Blog, Artikelbeschreibung, Einkaufswelten etc.) so etwas einbinden kann. Für jedes Hypotext Element sollte einstellbar sein, ob der Text Standartmäßig sichtbar ist oder nicht sichtbar ist. In den Hypotext sollte man nicht nur Text sonder auch alle andernen Content Formate unterbringen können (Bilder, Videos etc)

 

Freue mich auf Antworten.

 

Gruß

coolc

Backend Plugin erstellen - brauche Hilfe

$
0
0

Moin,

ich versuche in SW5 ein Backend-Plugin mit Menüpunkt zu erstellen. Das Plugin lässt sich installieren und der Menüpunkt erscheint auch. Allerdings sobald ich auf den Memüpunkt klicke, kommt nur das "... wird geladen..." und das wars. Das bleibt dann da und nichts passiert mehr. Was stimmt da nicht? Der Code ist anbei..

Bootstrap.php

&lt;?php

	/**
	 * Standard Shopware Plugin Class
	 */
	class Shopware_Plugins_Frontend_TestUwe_Bootstrap extends Shopware_Components_Plugin_Bootstrap {

		/**
		 * Returns the meta information about the plugin.
		 * @return array
		 */
		public function getCapabilities() {
			return array(
				'install' =&gt; true,
				'enable' =&gt; true,
				'update' =&gt; true
			);
		}

		/**
		 * Plugin install method
		 */
		public function install() {

			if(!$this-&gt;assertVersionGreaterThen("4.3.0"))
				throw new Enlight_Exception("This Plugin needs min shopware 4.3.0");

			$this-&gt;createMenu();
			$this-&gt;subscribeEvents();
			

			return array('success' =&gt; true, 'invalidateCache' =&gt; array('config', 'frontend', 'backend', 'proxy'));
		}

		/**
		 * Plugin uninstall method
		 */
		public function uninstall() {
			return array('success' =&gt; true, 'invalidateCache' =&gt; array('config', 'frontend', 'backend', 'proxy'));
		}

		/**
		 * activates the plugin
		 */
		public function enable() {
			Shopware()-&gt;Db()-&gt;exec('UPDATE s_core_menu SET active=1 WHERE name = "TestUwe"');

			return true;
		}

		/**
		 * deactivates the plugin
		 */
		public function disable() {
			Shopware()-&gt;Db()-&gt;exec('UPDATE s_core_menu SET active=0 WHERE name = "TestUwe"');

			return true;
		}

		/**
		 * get label for this plugin
		*/
		public function getLabel() {
			return 'TestUwe';
		}

		/**
		 * Get version tag of this plugin to display in manager
		 */
		public function getVersion() {
			return '4.01.01';
		}

		/**
		 * get the main info for the plugin
		 */
		public function getInfo() {
			return array (
				'version' =&gt; $this-&gt;getVersion(),
				'autor' =&gt; 'Uwe Heldt',
				'copyright' =&gt; 'Uwe Heldt',
				'label' =&gt; $this-&gt;getLabel(),
				'support' =&gt; 'http://www.piloten-training.com',
				'link' =&gt; 'http://www.piloten-training.com'
			);
		}

		/**
		 * create menu entries for this plugin
		 */
		protected function createMenu() {
			$parent = $this-&gt;createMenuItem(array (
				'label' =&gt; 'TestUwe',
				'controller' =&gt; 'TestUwe',
				'class' =&gt; 'sprite-credit-cards',
				'action' =&gt; 'index',
				'active' =&gt; 1,
				'parent' =&gt; $this-&gt;Menu()-&gt;findOneBy('label', 'Marketing')
			));
		}

		/**
		 * create Events/Hooks for the plugin
		 */
		protected function subscribeEvents() {
			// Events für Backend- und Frontend-Controller
			$this-&gt;subscribeEvent('Enlight_Controller_Dispatcher_ControllerPath_Backend_TestUwe', 'onGetControllerPathBackend');		
		}

		/**
		 * get the backend controller path
		 */
		public function onGetControllerPathBackend(Enlight_Event_EventArgs $args) {
			$this-&gt;Application()-&gt;Template()-&gt;addTemplateDir($this-&gt;Path() . 'Views/');

			return $this-&gt;Path() . '/Controllers/Backend/TestUwe.php';
		}
		
	}
?&gt;

 

TestUwe.php

&lt;?php
	
	/**
	 * Shopware backend class for TestUwe
	 */
	class Shopware_Controllers_Backend_TestUwe extends Shopware_Controllers_Backend_ExtJs
	{

		/**
     * this function is called initially and extends the standard template directory
     * @return void
     */
    public function init()
    {
        $this-&gt;View()-&gt;addTemplateDir(dirname(__FILE__) . "/Views/");
        parent::init();
    }

		/**
		 * index action is called if no other action is triggered
		 */
		public function indexAction()
		{
			$this-&gt;View()-&gt;loadTemplate("backend/Test_Uwe/app.js");
		}
	}
?&gt;

app.js

//{block name="backend/test_uwe/application"}
	Ext.define('Shopware.apps.TestUwe', {
		name: 'Shopware.apps.TestUwe',
		extend: 'Enlight.app.SubApplication',
		loadPath: '{url action=load}',
		bulkLoad: true,
		defaultController: 'Main',
		controllers: [
			'Main'
		],
		launch: function() {
			var me = this;

			var controller = me.getController('Main');

			return controller.mainWindow;
		}
	});
//{/block}

 

main.js

// {namespace name=backend/TestUwe/controller}
// {block name=backend/TestUwe/controller/main}
Ext.define('Shopware.apps.TestUwe.controller.Main', {

    extend: 'Ext.app.Controller',

    mainWindow: null,

    init: function () {
        var me = this;

        me.mainWindow = me.getView('list.Window').create({ }).show();

        me.callParent(arguments);
    }
});
// {/block}

product.js



Ext.define('Shopware.apps.TestUwe.view.list.Product', {
    extend: 'Shopware.grid.Panel',
    alias:  'widget.product-listing-grid',
    region: 'center',

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

window.js


Ext.define('Shopware.apps.TestUwe.view.list.Window', {
    extend: 'Shopware.window.Listing',
    alias: 'widget.product-list-window',
    height: 450,
    title : '{s name=window_title}Product listing{/s}',

    configure: function() {
        return {
            listingGrid: 'Shopware.apps.TestUwe.view.list.Product',
            listingStore: 'Shopware.apps.TestUwe.store.Product'
        };
    }
});

product.js



Ext.define('Shopware.apps.TestUwe.view.detail.Product', {
    extend: 'Shopware.model.Container',
    padding: 20,

    configure: function() {
        return {
            controller: 'TestUwe'
        };
    }
});

 

BUG bei Shopware 5.2.0 und Nutzung des CustomerGroup-Stores in Plugin-Konfiguration im PluginManager

$
0
0

Hallo liebe shopware - Gemeinde,

nach dem Update / Herstellen der Kompatibilität eines Plugins mit Shopware 5.2.0 kommt es beim Aufruf der Plugin Konfiguration des Plugins im Plugin Manager zu folgender Fehlermeldung:

Request:

GET http://xxx.de/backend/?f=base/CustomerGroup.js

Fehlermeldung:

&lt;br /&gt;
&lt;b&gt;Fatal error&lt;/b&gt;:  Uncaught exception 'SmartyException' with message 'Unable to load template snippet
 'backend/index/base/customer_groupjs.js'' in /engine/Library
/Smarty/sysplugins/smarty_internal_templatebase.php:127
Stack trace:
#0 /engine/Library/Enlight/View/Default.php(274): Smarty_Internal_TemplateBase-
&amp;gt;fetch()
#1 /engine/Library/Enlight/Controller/Plugins/ViewRenderer
/Bootstrap.php(216): Enlight_View_Default-&amp;gt;render(Object(Enlight_Template_Default))
#2 /engine/Library/Enlight/Controller/Plugins/ViewRenderer
/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap-&amp;gt;renderTemplate(Object(Enlight_Template_Default
))
#3 /engine/Library/Enlight/Controller/Plugins/ViewRenderer
/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap-&amp;gt;render()
#4 [internal function]: Enlight_Controller_Plugin in &lt;b&gt;/engine
/Library/Smarty/sysplugins/smarty_internal_templatebase.php&lt;/b&gt; on line &lt;b&gt;127&lt;/b&gt;&lt;br /&gt;

und:

too much recursion
	
var Ext=Ext||{};Ext._startTime=new Date().getTime();(function(){var h=this,a=Obj...

In der Plugin-Konfiguration ist unter anderem eine Kundengruppenauswahl enthalten, die (scheinbar) auch die Fehlerursache ist (aber eben nur im Plugin Manager):

$form-&gt;setElement('combo', 'customer_groups', 
     array(
          'label' =&gt; 'Kundengruppen',
          'store' =&gt; 'base.CustomerGroup',
          'multiSelect' =&gt; true,
          'scope' =&gt; Shopware\Models\Config\Element::SCOPE_SHOP,
          'value' =&gt; '',
     )
);

Unterhalb von Shopware 5.2.0 hat alles problemlos funktioniert. Nun kann man über den Plugin Manager die Plugin-Konfiguration des Plugins nicht mehr aufrufen.

Ruft man die Plugin-Konfiguration in den Grundeinstellungen auf ("Einstellungen" -> "Grundeinstellungen" -> "Weitere Einstellungen" -> Plugin auswählen), klappt der Aufruf der Plugin-Konfiguration.

Ist der Bug eventuell schon bekannt und irgendwie behebbar?

Beste Grüße

Sebastian

Einkaufswelten im Frontend leer / AJAX schließt nicht ab

$
0
0

Hallo Community,

ich brauche dringend eure Hilfe und bin für jeden Ratschlag / Feedback dankbar!
Folgendes Problem:

Kurz vor der Fertigstellung unseres Shops (Shopware 5) haben wir das PayPal Plugin installiert und dieses aktiviert. Zur Aktivierung mussten wir das Theme neukompilieren, sowie wir das auch schon 1000x davor gemacht haben. Seit dieser Neukompilierung sind jedoch all unsere Einkaufswelten im Frontend leer. Überprüfe ich die Chrome Entwicklerconsole, und gehe unter Network, sehe ich das die Bilder dieser Einkaufswelt sowie der DOM an sich vollständig geladen wurden! Angezeigt / eingebunden wird jedoch nichts, manchmal ist der Ladekreis da, der sich dann nicht mehr verändert.

Ich wäre sehr dankbar für Lösungsvorschläge dieses riesigen Problems, genauso für Hilfen zum richtigen Aufspüren der Fehlerquelle.

Bereits erledigt:
- Neukompilierung

- Wechsel auf Theme Responsive (selbes Problem)

- Deaktivierung / Löschung des PayPal Plugins, sowie Deaktivierung von Google Tag Manager

Server: All-Inkl.com

Wie kann ich einen Artikel mit einer Mehrfachauswahl einstellen? Gibt es irgendwo eine Einstellung?

Viewing all 2871 articles
Browse latest View live


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