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

Provision werden bei Mein Konto nicht angezeigt.


Model für s_articles erweitern

$
0
0

Hallo zusammen,

ich würde gerne statt der DB-Tabelle s_articles_related eine eigene Tabelle verwenden. Um die n:m Relation herzustellen, müsste ich auch das Article-Model erweitern.

Ich habe in meinem Plugin folgende Ordnerstruktur:

Models -> MyArticle -> Article.php

Models -> MyArticle -> Relatedarticle.php

Models -> MyArticle -> Repository.php

D.h. ich habe einen Namespace von Shopware\CustomModels\MyArticle. Kann ich das so machen?

Die Article.php habe ich um folgenden Eintrag erweitert:

/**
     * INVERSE SIDE
     *
     * @var ArrayCollection
     *
     * @Assert\Valid
     *
     * @ORM\OneToMany(targetEntity="Shopware\CustomModels\MyArticle\Relatedarticle", mappedBy="article", orphanRemoval=true, cascade={"persist"})
     */

    protected $relatedaccessoirearticle;

Kann es dadurch zu Namespace-Problemen kommen? Ab Shopware 5.2 scheint es zu funktionieren. Mit Shopware 5.1 wird nicht immer die Funktion aus meinem eigenen Repository gefunden.

Vielen Dank im Voraus.

Grüße

Mathias

Wie kann ich die Anzahl der Artikel die im Backend in der Artikel-Übersicht angezeigt werden erhöhen

$
0
0

Hallo,

wie kann ich die 75 erhöhen?

image

Product-Slider individualisieren

$
0
0

Liebe Community,

ich möchte den Product-Slider gerne dahingehend individualisieren, daß dieser in jeder Detailansicht Produkte z.B. mit dem gleichen Produktenamen des aktuell ausgewählten Produkts anzeigt.

Läßt sich das mit den CE Bordmitteln umsetzen? Vielleicht ein "gefilterter Productstream": Gibt es hier eine Syntax um die Variable "Artikelname" als Suchbegriff zu hinterlegen?

Oder müsste ich ein Frontend Plugin erstellen welches die zugeschnittene Datenbankabfrage enthält.

VG, carsinsky

 

jQuery Event Varianten Wechsel

$
0
0

Hallo zusammen,

gibt es ein Event, dass bei erfolgten Variantenwechsel aufgerufen wird, damit man beispielsweise Optionen aus-/einblenden kann?

Beste Grüße

Install Cronjobs on 5.2 programmatically

$
0
0

Hi guys

I can't find documentation regarding how to install cronjobs using the new 5.2 Plugin System. Before, we had on Bootstrap the createCronJob(...) method available, but this is not available on \Shopware\Components\Plugin. What is the best way to do that using the new 5.2 PSystem?

Thanks.

 

Best

REST Api: Kategorie zu Artikel hinzufügen

$
0
0

Hallo,

Um einen langsamen manuellen Prozess zu automatisieren habe ich ein Skript geschrieben, dass alle Artikel automatisch zu bestimmten Kategorien hinzufügen soll.

Mal angenommen ich hole einen Artikel von https://shop.de/api/articles/1 , füge dem "categories" array einen Eintrag hinzu und sende das ganze via 'PUT' zurück an die selbe URL (ausgenommen dem standard "data" "success" wrapper), sollte der Artikel dann nicht einer Kategorie hinzugefügt worden sein?

Ich habe das bereits probiert, allerdings ist der Artikel dabei aus allen Kategorien in denen er bereits war entfernt worden und der Server hat 400 (Bad Request) zurückgeliefert. Der Json String den ich sende ist richtig formatiert, daran liegt es also nicht.

 

Hat jemand hier so etwas vielleicht schon einmal versucht?

Vielen Dank im Vorraus,

Moritz Bust

Shopware url füllen vermeiden


Translation über Rest-Api wirft JSON-Fehler aus

$
0
0

Hallo,

ich benutze die von Shopware gelieferte Beispiel-Api und möchte für zuvor importierte Artikel die entsprechenden Übersetzungen ebenfalls importieren.

der Shop steht momentan auf Version 5.2.9.

Leider wirft folgender Code 


$client = new ApiClient('http://test.de/api','user','API-Key');

$client->call('translations/LW14197?useNumberAsId=true', ApiClient::METHODE_POST,
    array(
        "type" => "article",
        "shopId" => "2",
        "data" =>
            array(
                "name" => "english name",
                "number" => "LW14197",
                "description" => "new description here.",
            )
    )
);

einen HTTP: 503 - Could not decode json Fehler aus.

(API-Einstellungen sind korrekt, Artikelimport funktioniert tadellos)

In der Version 4 hat das schon mal funktioniert.

Erkennt jemand, wo der Fehler steckt?

 

Vielen Dank für Eure Hilfe.

Grüße. Micha

SW 5.2 Plugin erweitert Theme nicht

$
0
0

Hallo,

ich habe gerade angefangen, mich mit SW-Plugins zu beschäftigen, und versucht, ein simples gemäß neuer 5.2er Pluginkonvention zu erstellen:

https://github.com/bitski/BitskiThemeFix

Es soll zu Testzwecken SW-Themes erweitern (können), hier beispielhaft über die footer.tpl das Footerlogo entfernen, aber leider wird die entsprechende .tpl-Datei der Themes nicht erweitert.

Auch nach langem Debuggen und Studium der entsprechenden Dev- und Frontendguides und Pluginbeispiele habe ich keine Lösung gefunden.

Ich wäre sehr dankbar dafür, wenn mir jemand einen Stoß in die richtige Richtung geben könnte, warum das Themeoverride hierbei nicht greift oder evtl. nicht korrekt aktiviert wird.

 

P.S.: Daran liegt es nicht, ich habe ohne und mit aktiviertem Customtheme (Option: "true") gestestet:

https://developers.shopware.com/designers-guide/smarty/#inheritance-and-plugin-templates

 

Vielen Dank im Voraus für eventuellen Input,

Peter | bitski


 

 

 

 

 

 

Fehler nach Formularübermittlung

$
0
0

Hallo zusammen,

ich beobachte seit kurzem einen Fehler bei der Übermittlung von Formularen. Es erscheint die Fehlerseite "Upps usw.". Ich habe es heute wieder im Newsletterformular gesehen und in Firebug konnte ich sehen, dass die Anfrage für "Newsletter" mit einem Fehlercode 400 quittiert wird.

Geht man dann zurück, lädt die Seite neu und übermittelt das Formular neu ist alles OK und zwar für eine ganze Weile. Ich habe den Verdacht, dass der Fehler immer dann auftritt, nachdem der HTTP Cache aufgewärmt worden ist.

Es tritt bei allen meinen drei Browsern auf: Chrome, Firefox und Safari.

Diesen Fehler habe ich übrigens auch schon im Responsive-Theme beobachten können.

Habt Ihr irgendeine Idee, wie ich der Ursache auf die Schliche kommen könnte?

Danke bereits und schönes WE

API Aufruf per BasicAuth statt Digest

$
0
0
Hallo,

der Support konnte mir leider nicht weiterhelfen, deswegen stelle ich meine Frage hier:

Wir müssen unsere Shopware Instanz von außen mit Daten versorgen. Dazu verwenden wir die vorhandenen APIs. Wir haben dabei nur ein Problem: Die API ist im Zugriff mit der Methode Digest geschützt. Wir würden gern BasicAuth verwenden. Hintergrund ist, dass das aufrufende System ein Java System ist und im eingesetzten CXF Framework Digest nicht funktioniert. Wir haben eine Lösung gefunden für die wir allerdings die Sourcen von Shopware anpassen müssten. In der Datei /engine/Shopware/Plugins/RestApi/bootstrap.php müssten wir folgende Anpassung vornehmen:

$adapter = new Zend_Auth_Adapter_Http(array(
'accept_schemes' => 'digest basic',
'realm' => 'Shopware REST-API',
'digest_domains' => '/',
'nonce_timeout' => 3600,
''
));

(Erweiterung accept_schemes um basic). D.h. es ist eigentlich schon alles da, man kann es nur nicht konfigurieren, was ich etwas merkwürdig finde.

Frage: Haben wir hier etwas übersehen? Kann man das einfacher/anders lösen? Unsere Lösung verhindert zukünftige Updates und ist für mich daher nicht akzeptabel.

Danke,
Karsten

Anlegen eines ConfiguratorSets via Models

$
0
0

Guten Morgen zusammen,

Ich möchte gerne ein Configuratorset über die Models anlegen. Das funktioniert ganz gut, einzig die Verknüpfung zwischen Set und options (s_article_configurator_set_option_relations) und Set und Groups (s_article_configurator_set_group_relations) funktioniert leider nicht.

// Create configurator Set if it does not exist
if (!$configuratorSet = $this->em->getRepository(Set::class)->findOneBy(array('name' => $this->configuratorSetName))):
    $configuratorSet = new Set();
    $configuratorSet->setName($this->configuratorSetName);
endif;

// Create configurator Group if it does not exist
if(!$configuratorGroup = $this->em->getRepository(Group::class)->findOneBy(array('name' => $this->configuratorGroupName))):
    $configuratorGroup = new Group();
    $configuratorGroup->setName($this->configuratorGroupName);
    $configuratorGroup->setPosition(0);
endif;
$this->em->persist($configuratorGroup);
$groupCollection = new ArrayCollection();
$groupCollection->add($configuratorGroup);

// Create configurator options
$configuratorOption = new Option();
$configuratorOption->setName($this->getPackageSizeName($csv[3], $csv[4]));
$configuratorOption->setGroup($configuratorGroup);
$configuratorOption->setPosition(0);
$this->em->persist($configuratorOption);

$optionCollection = new ArrayCollection();
$optionCollection->add($configuratorOption);

$configuratorSet->setGroups($groupCollection);
$configuratorSet->setOptions($optionCollection);
$this->em->persist($configuratorSet);

$this->em->flush();

Anschließend sind alle Daten vorhanden nur die beiden oben genannten Tabellen enthalten keine Daten. Obwohl das nach meinem Verständnis eigentlich mit setGroups() und setOptions() der Fall sein sollte.

Danke vorweg für Eure Tipps & LG

Multi Warehouse Lösung - Möglich/Überschaubar?

$
0
0

Hallo zusammen,

ich bin komplett neu in der Shopware Welt, ich habe etwas Magento 2 Hintergrund und programmiere schon einige Zeit PHP mit moderneren Frameworks (Symfony, Laravel etc.), bin also kein Anfänger.

Ich bin gerade dabei Shopware zu evaluieren mit relativ konkreten Anforderungen. ich habe gezielt hier ins Programmier Board gepostet, weil ich davon ausgehe, dass das ganze mit einem Theme und einem Plugin nicht getanist. Also, ich brauche:

  • Shopsystem mit individueller WaWi-Anbindung, inkl Import/Export über Cronjobs/FTP
    REST ist leider nicht möglich aufgrund der WaWi, Implementierung werde ich übernehmen, sehe ich kein Problem
  • "Multiwarehouse Inventory", also mit individuellen Lagerbeständen pro Lager/POS
  • Produkte mit Varianten (d.h. Lagerbestände pro Variante/pro Lager/POS)
  • Bestellungen sollen je nach Bestand einem Lager bzw. als Fallback einem Zentrallager zugeordnet werden
    also dezentralisierter Versand

Ich habe bereits die große Konkurrenz Mage2 ausgiebig durchgetestet, bin aber mit der Stabilität des Systems und dem Entwicklungsaufwand extrem unzufrieden (bugs, bugs, bugs, Dokumentation nicht vorhanden). Auf die alter Version habe ich ehrlich gesagt nach den Erfahrungen mit v2 auch keine Lust.

Ich erwäge nun den Schritt das gesamte Projekt auf Shopware5 umzuziehen. Also eine relativ kostspielige Entscheidung.

Daher meine Frage an die Erfahrenen Profis:

Erfüllt Shopware die nötigen technischen Voraussetzungen, um zusätzlich zum normalen Bestand eine Reihe Lager/POS dranzuflanschen mit eigenen aufgeschlüsselten Inventaren?
Ich gehe davon aus, dass es geht, kenne aber die Shopware-Strukturen nicht so gut, um Einzuschätzen ob die nötigen Events, Hooks und Article-Model Erweiterungen so ohne weiteres möglich sind. Ich freue mich daher über jede ernsthafte Einschätzung.

Ich habe bereits ein paar Extensions ausfinding gemacht, z.B. http://store.shopware.com/neti01259/artikelverfuegbarkeit-vor-ort-storestock.html, welche das Thema berühren, aber nichts was konkret auf das Bestandsmanagement und die Bestellzuordnung eingeht.

Ich bin bisher nach dem ersten Tag begeistert von der Dokumentation und von dem, was ich bisher an Core-Code gesehen habe. Aufgrund der Anforderungen bleibe ich aber erstmal skeptisch, bin aber bereit ein Fan zu werden :)

Ich hoffe sehr ich bekomme etwas Feedback, das mir bei der Einschätzung hilft. Vielleicht kennt jemand ja auch ein Plugin, das etwas weiter geht.

Danke & mit besten Grüßen

Jakob

Klickbarkeit der Checkout-Schritte

$
0
0

Hallo Leute,


ein Kunde wünscht die Checkout-Schritten ("Ihre Adresse", "Zahlungsart & Versandart" und "Prüfen und Bestellen") in Links umgewandelt zu bekommen, um dann später zu den vorherigen Schritte beliebig wechseln zu können. 
Weiß jemand, wie man das umsetzen kann? Bin ziemlich neu im Shopware aber glaube, dass es schwierig sein kann, da der Checkout-Vorgang nur mit POST-Forms und nur in eine Richtung (links nach rechts) funktioniert. Wie kann ich das umbauen, dass es mit Links funktioniert?

Ich wäre für jeden Tipp dankbar :-)

 

Freundliche Grüße
Tigran

 

 


Text nicht anzeigen lassen wenn keiner vorhanden ist

$
0
0

Hallo Leute

Ich habe ein Email Layout und da gebe ich die Rechnungsadresse aus. Alles schön und gut, jedoch habe ich manchmal eine Firma als Kunde und manchmal nicht. 

Ich habe nun die Problematik das ich die Firma ausgeben lassen will aber nur wenn auch eine vorhanden ist. 

Wie bekomme ich das hin? Mit if else? Falls ja weiß ich nicht genau wie es funktioniert. 

Aktuell sieht der Code so aus:

<tr style="outline: none;">
<td class="secondary-font text"     style="-webkit-text-size-adjust: 100%;mso-table-lspace: 0pt;mso-table-rspace: 0pt;word-break: break-word;-webkit-hyphens: none;-moz-hyphens: none;hyphens: none;-ms-text-size-adjust: 100%;color: #333;text-align: left;padding-right: 0;padding-bottom: 0;padding-left: 5px;font-family:'Lato', Arial, sans-serif;font-size: 15px;line-height: 25px;padding-top: 0;border-collapse: collapse;">

 {$shippingaddress.company}<br>{$shippingaddress.firstname} {$shippingaddress.lastname}<br>{$shippingaddress.street}<br>{$shippingaddress.zipcode} {$shippingaddress.city}<br>{$additional.country.countryname}<br>
                                                                                    </td>
                                                                                </tr>

-------------

 {$shippingaddress.company}   sollte in diesem Fall nur ausgegeben werden, wenn es auch eine Firma gibt. 

PS: Wenn keine Firma ausgegeben wird habe ich eine Lücke und das sieht nicht schön aus, deswegen möchte ich dieses Problem lösen.

Wäre super wenn ihr mir helfen könntet. 

 

Elastic Search - Fehler nach Update auf SW 5.2.6

$
0
0

Hallo,

wir hatten einen Shop unter SW 5.1.6 an ES angebunden. Dies hat soweit gut funktioniert.
Jetzt habe ich heute auf die aktuelle SW 5.2.6 aktualisiert. Nun kommt bei der indexierung ein Fehler:

php56 -d allow_url_fopen=1 -c /home/httpd/php56-ini/cartot/php.ini console sw:es:index:populate --shopId 1

## Indexing shop Deutsch ##
  [Elasticsearch\Common\Exceptions\RequestTimeout408Exception]
  {"cluster_name":"elasticsearch","status":"yellow","timed_out":true,"number_
  of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":5,"active_shar
  ds":5,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":5,"
  delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flig
  ht_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_
  number":50.0}

 

Nach dem Versuch ist der Status auf Yellow.

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
{
  "cluster_name" : "elasticsearch",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 5,
  "active_shards" : 5,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 5,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0
}

 

Dann lösche ich alle Indexe und der Status ist wieder Green.

Sobald ich aber einen neuen Versuch mache, die Shopware Daten zu indexieren, kommt wieder der gleiche Fehler.


{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

 

Hat jemand eine Idee? Mir sagt der Fehler nicht viel.

Über Tipps bin ich dankbar. Zu ES gibt es leider nicht so viele Infos im Bezug zu Shopware.

Danke & Gruß

ottscho

 

 

Order Status ändern

$
0
0

Hallo zusammen,

ich habe mir ein kleines Plugin geschriben, welches mir nach erfolgreicher Bestellung eine XML Datei schreibt und speichert. Nun würde ich gerne noch den Order-Status änder, habe aber leider überhaupt keinen Ansatz wie das funktionieren kann :/ 

Hat jemand einen Tipp für mich?

Freue mich über eure Antworten !

Grüße,
chrisen

1054 Unknown column 'category.showfiltergroups' in 'field list''

$
0
0

Hallo,

nachdem ich trotz mehrfacher Versuche mit dem Update von 5.1.6 auf 5.2.1 gescheitert bin, habe ich ein Backup (5.1.6) wieder hochgeladen. Leider scheint bei der Datenbank oder bei einem Plugin etwas auf der Strecke geblieben zu sein. Denn ich bekomme nun im Frontend die folgende Fehlermeldung ( in verkürzter Form ):

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'category.showfiltergroups' in 'field list'' in /www/htdocs/XXXXX/XXXXXXX/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:828 Stack trace: #0....

Im Backend lassen sich auch die Artikel und Kategoien nicht mehr öffnen. Fehlermeldung bei den Kategorien:

Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. An exception occurred while executing 'SELECT s0_.id AS id_0, s0_.parent AS parent_1, s0_.stream_id AS stream_id_2, s0_.description AS description_3, s0_.position AS position_4, s0_.meta_title AS meta_title_5, s0_.metakeywords AS metakeywords_6, s0_.metadescription AS metadescription_7, s0_.cmsheadline AS cmsheadline_8, s0_.cmstext AS cmstext_9, s0_.active AS active_10, s0_.template AS template_11, s0_.product_box_layout AS product_box_layout_12, s0_.blog AS blog_13, s0_.path AS path_14,....

Wenn mir dabei jemand helfen könnte, was und wo ich etwas ergänzen muss, wäre ich sehr dankbar.

Viele Grüsse

Natproduct

 

Article Attribute - $articleDetailsId wird falsch generiert?

$
0
0

Hallo,

ich generiere meine Attribute per sw:generate:attributes und erhalte lokal diese Datei /doctrine/attributes/Article.php mit diesem Inhalt:

 

    /**
     * @var integer $articleDetailId
     *
     * @ORM\Column(name="articledetailsID", type="integer", nullable=true)
     */
     protected $articleDetailId;

 

Auf meinem Test-System passiert nach der Generierung dies:

    /**
     * @var integer $articledetailsID
     *
     * @ORM\Column(name="articledetailsID", type="integer", nullable=true)
     */
     protected $articledetailsID;

 

Nun stehe ich vor der Frage, warum wird die Variable auf dem Testsystem mit einem "s" im Namen generiert und bei mir lokal nicht? In beiden Fällen ist die Tabellenspalte "articledetailsID".

Wie kann ich das lösen? 

Danke!

Viewing all 2871 articles
Browse latest View live


Latest Images

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