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

Category Model mit Attribute verbinden und abfragen, aber wie?

$
0
0

 

Hallo zusammen,

ich habe für ein Plugin folgendes Model erstellt:

<?php

namespace TestMenu\Models;

use Doctrine\ORM\Mapping as ORM;
use Shopware\Components\Model\ModelEntity;

/**
 * @ORM\Entity(repositoryClass="Repository")
 * @ORM\Table(name="s_categories")
 */

class Location extends ModelEntity
{

    /**
     * @var integer $id
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    public function getId()
    {
        return $this->id;
    }

    /**
    * Name of the category
    *
    * @var string $description
    *
    * @ORM\Column(name="description", type="string", nullable=false)
    */
    private $description;

    /**
     * Returns the name of the supplier
     *
     * @return string
     */
    public function getDescription()
    {
        return $this->description;
    }

}

 

Über die Repository führe ich dann die Abfrage wie folgt aus:

<?php

namespace TestMenu\Models;

use Shopware\Components\Model\ModelRepository;

class Repository extends ModelRepository
{


	public function getLocationQuery()
	{
		$builder = $this->getLocationQueryBuilder();
		return $builder->getQuery();
	}

	public function getLocationQueryBuilder()
	{
		$builder = $this->getEntityManager()->createQueryBuilder()
		                ->select(['location.id', 'location.description'])
		                ->from(Location::class, 'location');
		return $builder;
	}

}

Soweit so gut!

Leider bekomme ich für die Abfrage keine Verknüpfung zu einem speziellen Kategorie-Attribute (s_categories_attributes > attribute3) hin.

Kann mir bitte jemand von euch auf die Sprünge helfen?

 

Vielen Dank und beste Grüße
Michael


REST-API You have requested a syntehtic service

$
0
0

Hi,

ich habe mal folgendes ausprobiert

https://github.com/shopware/shopware/blob/5.2/engine/Shopware/Components/Api/Resource/Resource.php#L589

und festgestellt, das wenn ich das ausführe folgende Exception geworfen wird:

[Symfony\Component\DependencyInjection\Exception\RuntimeException]
You have requested a synthetic service ("db_connection"). The DIC does not know how to construct this service.

Vermutlich liegt es daran, das es mit einem einfachen load('db_connection') nicht funktioniert. Jedenfalls läuft bei mir der Speicher voll sobald ich die Resourcen der API verwende.

Eigener api endpunkt - cache zeit setzen

$
0
0

Hallo zusammen.

gibt es die möglichkeit für ein eigenes api endpoint plugin die http cache controller zeiten zu setzen?

Hab das bisher nicht hinbekommen und wär für ein paar tipps dankbar.

Danke + gruss

maci

 

 

Änderung der Lieferzeit bei geringem Lagerstand

$
0
0

Hallo,

ich würde gerne einen individuellen Lieferzeittext ausgeben, wenn der Lagerstand von Artikeln gering ist.

Also zB:

0 Stk. lagernd: Lieferzeit auf Anfrage (definiert in Textbausteinen)
1 - 3 Stk. lagernd: Produkt in geringer Stückzahl auf Lager
>3 Stk. lagernd: Produkt auf Lager (definiert in Textbausteinen)

Ich hoffe, dass mir dabei jemand helfen kann :)

Danke und LG,

Jürgen

ExtJS Fragen ;-)

$
0
0

Hallo Shopware Freunde,

wer könnte mir einmal erzählen, Wie ich die Tree.js für die Kategorien mit einen weitern ROOT Node erweitern kann.

Quasi im Moment

  1. Shopware
    1. Deutsch
    2. Englich
    3. weiter lustige Kategorie
  2. Hier der neue Node.

Ich kenne nur wie man den bestehenden Root Node erweitern kann.

var me = this,
test = me.getRootNode();
test.appendChild({
   id: 2,
   text: "Jupp node",
   leaf: true
});

mit appendTo() klappt auch nicht wirklich.

Vg Jens

 

Canonical tag nur für Kategoriehauptseiten

$
0
0

Hallo,

eine Verständnisfrage.

Wie hier empfohlen: https://forum.shopware.com/discussion/comment/180626/#Comment_180626
hab ich in den SW-Einstellungen die Funktion der rel=next und prev tags aktiviert um paginierte Seiten vom Canonical Tag zu befreien. Soweit so gut. Nun soll vom SEO-Berater aus auf den Kategoriehauptseiten doch wieder ein Canonical erscheinen, aber auch nur dort und nicht auf den weiteren Kategorieseiten (?p=2, ?=p3 usw).

Gibts dafür eine einfache Möglichkeit ohne viel gefrickel?

 

Erklärung noch mal kurz an einem Beispiel:  Nehmen wir an wir haben einen Shop. TolleSchuhe.de der verkauft 2 Kategorien Männer- und Frauenschuhe. Unterhalb dieser Hauptkategorien verzweigen sich weitere Unterkategorien. Badelatschen, Highheels, Wanderstiefel usw. Auf allen Kategorieseiten ist die Paginierung aktiv, inklusive der rel=next und prev tags und es werden keine Canonicals erzeugt. Nun soll aber auf den beiden Hauptkategorien "Männer" und "Frauen" doch wieder ein Canonical erzeugt werden.

 

Danke und viele Grüße

Benötige Hilfe bei der Fehlermeldung: 1213 Deadlock found when trying to get lock

$
0
0

Hallo zusammen,

ich erhalte im Shop unter SW 5.2.20 folgende Fehlermeldung:

 

[Tue May 16 15:55:44.820345 2017] [:error] [pid 3265] [client xxx] PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction' in /var/www/html/public_html/engine/Shopware/Components/Session/PdoSessionHandler.php:509\nStack trace:\n#0 /var/www/html/public_html/engine/Shopware/Components/Session/PdoSessionHandler.php(509): PDOStatement->execute()\n#1 /var/www/html/public_html/engine/Shopware/Components/Session/PdoSessionHandler.php(278): Shopware\\Components\\Session\\PdoSessionHandler->doRead('2e03700686a179a...')\n#2 [internal function]: Shopware\\Components\\Session\\PdoSessionHandler->read('2e03700686a179a...')\n#3 /var/www/html/public_html/engine/Library/Zend/Session.php(491): session_start()\n#4 /var/www/html/public_html/engine/Shopware/Components/DependencyInjection/Bridge/Session.php(103): Zend_Session::start(Array)\n#5 /var/www/html/public_html/var/cache/production_201702271540/proxies/ShopwareProduction1c497219499edff590 in /var/www/html/public_html/engine/Shopware/Components/Session/PdoSessionHandler.php on line 509, referer: https://example.com/

Ich kann nicht erkennen womit dies zusammenhängen kann, hat hier jemand eine Idee?

 

Event dass bei allen Artikel Änderung getriggert wird

$
0
0

Hallo Leute,

 

eine Frage: Gibt es ein Event, dass bei allen Artikel Änderungen (CRUD) getriggert wird? Ich brauche das für ein Plugin und denke, dass ich nun nach und nach alle backend und api Actions erwischt habe.

 

 

MFG

 

derwunner


Problem mit dynamischen varianten Artikel im Warenkorb

$
0
0

Hallo zusammen,

ich erstelle über einen Controller variante Artikel, die der Kunde sich selbst zusammen stellt.
Die Varianten sind viel zu zahlreich um sie im Shop zu hinterlegen.
Ich verwende einen Stammartikel und der Kunde erstellt den Artikel als Variante des Stammartikels.
Das Problem ist nun, das jeder Artikel in der Datenbank angelegt wird, um im Warenkorb verfügbar zu sein.
Selbst wenn ich mir die Varianten-Daten separat speicher, gibt es mindestens einen Eintrag in der s_article_attributes und s_articles_details Tabelle.
Aber nicht jeder Artikel im Warenkorb wird auch gekauft. Die durch den Kunden selbst erstellten Varianten sind so speziell, das sie bei Kaufabbruch nicht mehr benötigt werden.
Ein Update des Stammartikels, angelegt als 'nicht varianter Artikel', hat zur Folge, das die Artikeldaten immer die des letzten Updates sind, allerdings für alle Warenkörbe in denen der Artikel gerade liegt...
Gibt es eine elegantere Möglichkeit diese Artikel im Warenkorb darzustellen, ohne die Tabellen mit Artikeln zu füllen, die dann vielleicht doch nicht gekauft werden? 
Einen Cron, der diese Daten wieder entfernt, ist meiner Meinung nach nur die Notlösung.
Vielleicht gibt es ja auch eine ganz andere Vorgehensweise...

Ich bin für jede Hilfe dankbar,
Gruß Frank

Fragen zur Datenbank

$
0
0

Hallo zusammen,

 

Ich hab da mal ein paar Fragen zu den key id's in den Datenbanktabellen:

Es geht um die Datentypen und Längen der Id's.

- Kann in s_media die ID < 0 sein? Wenn ja, warum?
- Warum ist die media_id in s_articles_img 10± und nicht 11+ wie in s_media?
- Warum ist die articleId in s_articles_informations 11± und nicht 11+ wie in s_articles?
- Warum ist die articleDetailsID und articleID in s_articles_prices 11± und nicht 11+ wie in s_articles bzw. 11+ wie in s_articles_details

Das Selbe in translations mit articleID
oder
s_article_configurator_dependencies (configurator_set_id) und s_article_configurator_sets (id)


* ± vorzeichenbehaftet
* + vorzeichenlos

 

Und ich bin da noch nicht mal die ganze Datenbank durchgegangen.

Aufgefallen ist mir das Ganze, da ich für den Artikelimport/Update ein direktes (auf EF6 basierendes) Interface programmiere. (REST-API ist dafür einfach zu langsam)

Für eine Klärung bzw. auch Anpassung wäre ich sehr dankbar.

 

MfG

Algorithman

 

Frische Entwicklungsumgebung ab V 5.2.14 unter Vagrant hat Fehler in Gruntfile Zeile 19

$
0
0

Hallo, 

habe gerade frisch eine neue Entwicklungsumgebung mit Vagrant aufgezogen und alles frisch aus dem Git. 

Wenn man den Grunt Task laufen lassen will, meckert die Console an Zeile 19 herum. Dort steht folgendes: 

config['less'].forEach(function (item) {
        content += `@import "../${item}";`;
    });

Ich habe die Zeile einfach durch ein ales Gruntfile überschrieben. Und hier nochmal die ganze Datei:



module.exports = function (grunt) {
    var shopId = grunt.option('shopId') || 1,
        file = '../web/cache/config_' + shopId + '.json',
        config = grunt.file.readJSON(file),
        lessTargetFile = {},
        jsFiles = [],
        jsTargetFile = {},
        content = '',
        variables = {};

    lessTargetFile['../' + config.lessTarget] = '../web/cache/all.less';

    config['js'].forEach(function (item) {
        jsFiles.push('../' + item);
    });
    jsTargetFile['../' + config.jsTarget] = jsFiles;

    config['less'].forEach(function (item) {
        content += `@import "../${item}";`;
    });
    grunt.file.write('../web/cache/all.less', content);

    for (var key in config.config) {
        variables[key] = config.config[key];
    }

    grunt.initConfig({
        uglify: {
            production: {
                options: {
                    compress: true,
                    preserveComments: false
                },
                files: jsTargetFile
            },
            development: {
                options: {
                    mangle: false,
                    compress: false,
                    beautify: true,
                    preserveComments: 'all'
                },
                files: jsTargetFile
            }
        },
        less: {
            production: {
                options: {
                    compress: true,
                    modifyVars: variables,
                    relativeUrls: true
                },
                files: lessTargetFile
            },
            development: {
                options: {
                    modifyVars: variables,
                    dumpLineNumbers: 'all',
                    relativeUrls: true,
                    sourceMap: true,
                    sourceMapFileInline: true,
                    sourceMapRootpath: '../'
                },
                files: lessTargetFile
            }
        },
        watch: {
            less: {
                files: [
                    '../engine/Shopware/Plugins/**/*.less',
                    '../themes/Frontend/**/*.less',
                    '../custom/plugins/**/*.less'
                ],
                tasks: ['less:development', 'eslint'],
                options: {
                    spawn: false
                }
            },
            js: {
                files: [
                    '../themes/Frontend/**/_public/src/js/*.js',
                    '../engine/Shopware/Plugins/**/frontend/**/src/js/**/*.js',
                    '../custom/plugins/**/frontend/**/src/js/**/*.js'
                ],
                tasks: ['uglify:development'],
                options: {
                    spawn: false
                }
            }
        },
        eslint: {
            src: [
                'Gruntfile.js',
                'Frontend/Responsive/frontend/_public/src/js/*.js'
            ]
        }
    });

    grunt.loadNpmTasks('grunt-contrib-less');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-chokidar');
    grunt.loadNpmTasks('gruntify-eslint');

    grunt.renameTask('chokidar', 'watch');
    grunt.registerTask('production', [ 'eslint', 'less:production', 'uglify:production' ]);
    grunt.registerTask('default', [ 'less:development', 'uglify:development', 'watch' ]);
};

 

Facebook Produkt Feed

$
0
0
Hi,

jemand hier der bereits einen Export Feed für Facebook im Einsatz hat und einen Musterfeed zur Verfügung stellen würde?

Oder ist von offizieller Seite ein Musterfeed geplant?

beste Grüße

Daniel

Plugin Bootstrap.php im Template überschreiben

$
0
0

Hallo,


wir würden gerne die Boostrap.php eines Plugins überschreiben.

Leider wird die php Datei durch den ioncube loader geschützt.

Gibt es eine Möglichkeit diese Datei im eigenen Template zu erweitern?

Grüße,

Alexander H.

Stripe Plugin macht beim Checkout Probleme: Card Number etc. Felder bleiben Leer

$
0
0

 

Moin Moin liebe Shopware Community,

mir liegt ein merkwürdiges Problem im Shopware Stripe Plugin (Stripe - Accept credit cards[...]) vor.

Kommt der Kunde auf die Checkout shippingPayment Site, erscheint folgender Fehler in der Console: "Uncaught SyntaxError: Invalid or unexpected token" (shippingPayment:509). Im Frontend äußert sich das dadurch, die Felder "Card Number" + "Valid Until" + "CVC Code" nicht angezeigt werden. (siehe Screenshots)

image

image

image

Schaut man im entsprechenden File nach wirft folgende Zeile den Fehler: "var stripePaymentCardSnippets={ error:{ api_connection_error:'Cannot connect to the payment providers server. Please try again in a little bit."

Nach Recherche im Internet könnte dieser Fehler für eine Security Einstellung des Hosters liegen, sodass die Verbindung zum Stripe Dienst nicht aufgebaut werden kann. In meiner lokalen Installation (Mac OS X) funktioniert das Plugin mit den gleichen Einstellungen einwandfrei.

Habt ihr eine Idee warum das kommt?

Vielen Dank im Voraus und beste Grüße
Jan

PDF Rechnung Rechnungs-Nr. im Code 39

$
0
0

Ich möchte zusätzlich auf meiner PDF-Rechnung, nur die Rechnungsnummer in der Schriftart Code39, also so eine Art Barcode, integrieren. Wie kann ich das in der /documents/index.tpl in meinem Theme lösen?


ARtikel URL in Datenbank

$
0
0

Hallo zusammen,

kann mir jemand sagen, ob die Artikel URL's irgendo in der Datenbank gespeichert werden?

Danke

Postleitzahl fehlt bei abweichender Lieferadresse

$
0
0

Hallo,

mir ist aufgefallen, dass bei einer abweichenden Lieferadresse die Postleitzahl unter /checkout/finish  nicht angezeigt wird.

Wie kann man diesen Fehler beheben? Der Wert wird anscheinend nicht übermittelt..

 

image

Warenkorb auf externer Seite einbinden

$
0
0

Hallo,

hat jemand eine Idee wie man den Warenkorb auf eine externe Seite einbinden kann (evtl. inkl. Fenster das sich beim draufklicken öffnet)?
Ich suche keine fertige Lösung sondern nur Lösungsansätze da ich mich mit Shopware bishe rnicht auskenne.

Beste Grüße
- jhwsk

$sBasketItem um Produktdetails erweitern

$
0
0

Hallo zusammen, 

grob gesagt würde ich gerne $sBasketItem um weitere Arrays erweitern, damit diese Daten einfach im Warenkorb abgerufen werden können. Die Daten sind je nach Produkt unterschiedlich - also nicht statisch. Somit kommen die Freitextfelder wohl nicht infrage, oder?! 

Wie könnte man das umsetzen, damit ich bspw. product.tpl so umbauen kann, dass ich Zugriff auf ein eigenes Array in der Variablen $sBasketItem hätte? Also quasi die Übergabe von Werten in der Produktansicht zur Ansicht des Warenkorbs? 

Vielen Dank und beste Grüße
Christian

Amazon AWS Elasticsearch und shopware 5.1

$
0
0

Hallo Zusammen,

ich verzweifle akutell an meiner Anbindung shopware 5.1 an einen Amazon AWS ElasticSearch Server. Hat hiermit jemand Erfahrung?

In Amazon habe ich den Zugriff auf ElasticSearch auf die IP meines Servers beschränkt. Vom Server kann ich per curl auch ein Testdokument ElasticSearch hinzufügen. Nur die shopware Indizierung mit

bin/console sw:es:index:populate

bringt die Fehlermeldung

 [Elasticsearch\Common\Exceptions\NoNodesAvailableException]  
  No alive nodes found in your cluster  

Mit einer lokalen ElasticSearch Installation klappt die Indizieurng ohne Probleme.

In der config.php habe ich den Eintrag
'es' => array(
        'enabled' => true,
        'client' => array(
            'hosts' => array('Endpoint meiner AWS Domain')
            )
        ),

In Amazon selbst die Einstellungen

 

Ich habe es beim Endpoint auch schon mit dem Port :9200 versucht. Das funktioniert leider auch nicht. Kann eigentlich auch nicht funktionieren, da mein Curl AUfruf auch ohne Portangabe funktionierte.

Vielen Dank Vorab für eure Unterstützung

Viewing all 2871 articles
Browse latest View live


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