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

Free text fields labels translation

$
0
0

Hi together

Now that we can add easily free text fields to our articles, how can we translate the labels of these fields?

Thanks.

Best


Plugin Shopware Import/Export: Import Artikel Inhalt

$
0
0

Hallo liebe Community,

ich möchte gerne Artikel direkt mit dem Feld "Inhalt" importieren. Leider habe ich keine Möglichkeit gefunden, dies mit dem Advanced Importer von Shopware umzusetzen (http://store.shopware.com/swagef36a3f0ee25/shopware-import/export.html). Maßeinheit, Grundeinheit und Verpackungseinheit sind kein Problem, nur leider finde ich nicht das richtige Feld für den "Inhalt". Dieser ist essentiell wichtig für die Grundpreisberechnung. Import Doku: http://community.shopware.com/Import/Export-Artikel_detail_1778.html

Vielen Dank für eure Hilfe.

Update- Fehler

$
0
0

Hey Leute bei einem Update von unserem Shopware sind fehler aufgetreten.

zuerst bekam ich den Fehler

Please try to fix this error and restart the update.
Response

"
\nFatal error:  Call to undefined function array_column() in /home/quanonde/shopware/files/update/update-assets/migrations/common/MigrationHelper.php on line 129
\n"

diesen konnte ich lösen indem ich unsere PHP version geupdatet hatte auf 5.6

Danach verlief die Datenbankmigration problemlos. Bis zum aufräumen.
Zuerst wurde ich gefragt

Aufräumen

Die folgenden Dateien gehören zu einer früheren Shopware Version und werden nach diesem Update nicht länger benötigt. Drücken sie "Weiter" um die Dateien automatisch zu löschen und das Update zu beenden. Wir empfehlen vorher ein Backup anzulegen.vendor/ircmaxell

 

danach allerdings versucht er in diesem Ordner (DEN DAS UPDATE SELBER GELÖSCHT HAT) daten auszuführen. Was natürlich nicht geht weil er den Ordner gelöscht hat. Habe den Ordner auch mehrmals erneut eingefügt (Aus einem Backup)




Warning: Uncaught exception 'ErrorException' with message 'require(/home/quanonde/shopware/vendor/ircmaxell/password-compat/lib/password.php): failed to open stream: No such file or directory' in /home/quanonde/shopware/vendor/composer/autoload_real.php:55 Stack trace: #0 /home/quanonde/shopware/vendor/composer/autoload_real.php(55): Slim\Slim::handleErrors(2, 'require(/home/q...', '/home/quanonde/...', 55, Array) #1 /home/quanonde/shopware/vendor/composer/autoload_real.php(55): composerRequireShopware() #2 /home/quanonde/shopware/vendor/composer/autoload_real.php(45): composerRequireShopware('e40631d46120a9c...', '/home/quanonde/...') #3 /home/quanonde/shopware/vendor/autoload.php(7): ComposerAutoloaderInitShopware::getLoader() #4 /home/quanonde/shopware/autoload.php(37): require('/home/quanonde/...') #5 /home/quanonde/shopware/recovery/update/src/DependencyInjection/Container.php(171): require_once('/home/quanonde/...') #6 /home/quanonde/shopware/recovery/common/vendor/pimple/pimple/src/Pimple/Container.php(112): Sh in /home/quanonde/shopware/vendor/composer/autoload_real.php on line 55

Fatal error: composerRequireShopware(): Failed opening required '/home/quanonde/shopware/vendor/ircmaxell/password-compat/lib/password.php' (include_path='/home/quanonde/shopware:/home/quanonde/shopware/engine/Library/:/home/quanonde/shopware/templates/') in /home/quanonde/shopware/vendor/composer/autoload_real.php on line 55

 

was kann ich jetzt tuen ?
 
hier die funktion aus der Datei autoload_real.php

            function composerRequireShopware($fileIdentifier, $file)
            {
           if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {

Zeile 55        require $file;

                   $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
                }
              }

helft mir bitte ;_;

 


Liebe Grüße

Linci

Zusätzliche Freitextfelder im Export

$
0
0

Hallo!

Ich habe das Problem, das mein Export zu Google Shopping zwar mit Attributen verwendet werden kann, leider jedoch von mir selbst angelegte Attribute nicht berücksichtigt. Wenn ich Attritbus 1-20 nehme, kann ich das Problemlos im Template ausgeben. Wenn ich Nummer zB. 37 nehme - bei mir <g:color>{$sArticle.attr37|escape}</g:color> für die Farbe, bleibt der Wert leer, obwohl er befüllt ist. 

Was kann ich tun?

 

Matthias

 

Fatal error: You have requested a non-existent service "shop".

$
0
0

Guten Abend zusammen,

während des Bearbeitens des Themes (.tpl & .less) trat auf einmal unten stehende Fehlermeldungen auf. Seitdem lässt sich die Seite im Frontend nicht mehr laden und im Backend erscheint stets die Fehlermeldung. Auch das Rückgängig machen der Änderungen bishin zum letzten bekannten Status wo noch alles funktionierte ergab keine Besserung.

Hat jemand eine Ahnung, was das Problem sein könnte?

 

Beim Laden des Frontends:

Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "shop". Did you mean one of these: "shopware_elastic_search.orm_backlog_subscriber", "shopware.plugin.config_reader", "shopware.plugin.cached_config_reader", "shopware.upload_max_size_validator", "shopware.escaper", "shopware.csrftoken_validator"? in /var/www/vhosts/team-nifty.com/wiesnkoenig.team-nifty.com/vendor/symfony/dependency-injection/Container.php:305 Stack trace: #0 /var/www/vhosts/team-nifty.com/wiesnkoenig.team-nifty.com/engine/Shopware/Components/DependencyInjection/Container.php(182): Symfony\Component\DependencyInjection\Container->get('shop', 1) #1 /var/www/vhosts/team-nifty.com/wiesnkoenig.team-nifty.com/engine/Shopware/Components/DependencyInjection/Container.php(138): Shopware\Components\DependencyInjection\Container->doLoad('shop', 1) #2 /var/www/vhosts/team-nifty.com/wiesnkoenig.team-nifty.com/engine/Shopware/Components/Theme/EventListener/ConfigLoader.php(75): Shop in /var/www/vhosts/team-nifty.com/wiesnkoenig.team-nifty.com/vendor/symfony/dependency-injection/Container.php on line 305
503 Service Unavailable

 

Shopware Fehler Reporter beim Laden des Backends:

SyntaxError: Unexpected token *
    at http://wiesnkoenig.team-nifty.com/engine/Library/ExtJs/ext-all.js?201702141330:21:5361
    at Object.Ext.globalEval (http://wiesnkoenig.team-nifty.com/engine/Library/ExtJs/ext-all.js?201702141330:21:5369)
    at Object.success (http://wiesnkoenig.team-nifty.com/backend/base?file=bootstrap&loggedIn=1487265888:1095:29)
    at Object.callback (http://wiesnkoenig.team-nifty.com/engine/Library/ExtJs/ext-all.js?201702141330:21:67496)
    at i.onComplete (http://wiesnkoenig.team-nifty.com/engine/Library/ExtJs/ext-all.js?201702141330:21:422670)
    at i.onStateChange (http://wiesnkoenig.team-nifty.com/engine/Library/ExtJs/ext-all.js?201702141330:21:422314)
    at XMLHttpRequest.<anonymous> (http://wiesnkoenig.team-nifty.com/engine/Library/ExtJs/ext-all.js?201702141330:21:17406)

 

Production Log:

[2017-02-16 18:08:25] core.ERROR: Warm up http-cache error with shopId 1 Server error response [url] http://wiesnkoenig.team-nifty.com/boomers-gourmet/ [status code] 503 [reason phrase] Service Unavailable [] {"uid":"7a4938f"}

 

Ich hoffe, jemand kann mir weiter helfen.

Gruß, Markus

Artikelanzahl im Listung mobile

$
0
0

Guten Abend,

 

wie kann ich einstellen bzw. welche Datei editieren, damit ich die Auswahl der Artikelanzahl auch auf Tablets und Smartphones erhalte? Auf dem Desktop ist das ja standardmäßig vorhanden, mobil allerdings nicht...

 

danke und lg

 

Template Extends

$
0
0

Hallo, 

ich habe ein Plugin welches die index/header,tpl um meta tags erweitert was mit dem Bare Theme auch wunderbar funktioniert.

Aber leider nur mit dem Bare theme. mit einem anderen theme tut es nicht, es wird einfach nichts angezeigt.

Nur wenn ich in dem "anderen" theme in der original header.tpl datei folgendes ergänze in der  ersten zeile:

{extends file='parent:frontend/index/header.tpl'}
 

dann tut es aufeinmal. 

Kann mir das jemand erklären? Im original Bare template gibt es ja diese Zeile auch nicht...

Danke, die

ratlose Lisa

Bestehende Controller-Funktion überschreiben/anpassen

$
0
0

Hallo,

ich fange gerade erst mit Shopware an und komme nicht so recht vorran.
Ich möchte den Controller des Kontaktformulars bearbeiten und zwar würde ich gerne die Funktion replaceVariables (engine/Shopware/Controllers/Frontend/Forms.php)  updatesicher anpassen.
Hier möchte ich erst einmal einfach nur das Datumsformat ändern. Ich dachte mir eventuell den Controller zu Vererben und die Funktion zu überschreiben, bin mir aber nicht sicher ob das der richtige Weg ist und wie ich dem System sagen würde, dass es meinen Controller anstelle des Originalen aufrufen soll.

Hier ist eine mögliche Subklasse die ich erstellt habe:

&lt;?php
class Shopware_Controllers_Frontend_FormsOwn extends Shopware_Controllers_Frontend_Forms
{
     /**
     * replaces placeholder variables
     * @param  string $content
     * @return string
     */
    private function replaceVariables($content)
    {
        foreach ($this-&gt;_postData as $key =&gt; $value) {
            if ($this-&gt;_elements[$key]['typ'] == "text2") {
                $names = explode(";", $this-&gt;_elements[$key]['name']);
                $content = str_replace("{sVars." . $names[0] . "}", $value[0], $content);
                $content = str_replace("{sVars." . $names[1] . "}", $value[1], $content);
            } else {
                $content = str_replace("{sVars." . $this-&gt;_elements[$key]['name'] . "}", $value, $content);
            }
        }

        $content = str_replace("{sIP}", $_SERVER['REMOTE_ADDR'], $content);
        $content = str_replace("{sDateTime}", date("d.m.Y H:i"), $content);
        $content = str_replace('{sShopname}', Shopware()-&gt;Config()-&gt;shopName, $content);

        return strip_tags($content);
    }

}
?&gt;

Ich hoffe ihr könnt mir weiterhelfen und eventuell bessere/richtige Ansätze verraten.

 

Viele Grüße 

Glodi


Varianten eines Artikels für Kundengruppe ausblenden

$
0
0

Hallo,

wir würden gerne gewisse Varianten eines Artikels für unsere Kundengruppe 'H' ausblenden. Wir hatten überlegt das ganze über eine if-Abfrage zu machen, wissen allerdings nicht genau wo wir ansetzen sollen Templatetechnisch.

Viele Grüße

Backendplugin und aulesen eines Datenfeldes bei Magnalister

$
0
0

Hallo

 

ich bastel grad an meinem ersten Backendplugin und möchte dazu gern ein Feld von Magnalister auslesen und an anderer Stelle ausgeben.

 

Magnalister erzeugt nach jedem Kauf von zb Ebay ein Feld das unter Bestellungen -> Bestellungsdetails einer Bestellung -> reiter Magnalister  den Ebaynamen ausgibt.

Diesen Ebaynamen möchte ich gern auslesen und woanders ausgeben.

Kann mir wer Sagen wie dieses Feld heisst? bzw wie ich rausfinde wie das heisst um es dann woanders auszugeben?

 

Das würde sehr helfen.

 

Vielen Dank schonmal für alle Tipps und Hinweise die hoffentlich eingehen ;)

 

 

Email Statusänderung schneidet HTML Header ab

$
0
0

Hi zusammen,

mal wieder was kurioses.

Für die Stati der Bestellung sind Emailvorlagen angelegt.
Diese besitzen einen head bereich mit Styling etc. Wenn ich den Status einer Bestellung allerding jetzt auf "komplett ausgeliefert" setze wird ja eine Email im WYSIWYG Editor vorgelegt und zum senden bereit gemacht. Diese E-Mail wird zwar aus der Vorlage generiert allerdings wird der Head Bereich weggeschnitten. Es ist nur noch die oberste <table> vorhanden. Alles was darüber kommt ist weg. Hat jemand eine Idee wie ich das beheben kann? Ohne style sieht die Email etwas zerhauen aus... :P

Beste Grüße
Philipp

Kategorie Einkaufswelt anzeigen trotz Paginierung

$
0
0

Hallo Leute,

wenn man für eine Kategorie eine Einkaufswelt definiert, aber man sich auf einer paginierten Seite des Listings befindet (/de/kategorie/?p=1,2,3,..), so wird die Einkaufswelt nicht mehr angezeigt.

Im Backend steht folgendes für diesen Bereich:

getEmotionConfiguration(){
...
if ($this->Request()->getParam('sPage')) {
            return [
                'hasEmotion'  => false,
                'showListing' => true
            ];
        }
...
}

Kann ich diese Funktion irgendwie Updatesicher überschreiben. Aus meiner Sicht wäre das eh eher ein Bug.
Warum sollte man denn zwingend auf die Einkauswelt verzeichten, nur weil man auf Seite zwei ist.

Über einen Tipp wie ich hier vorgehe, wäre ich sehr dankbar.

Gruß Yuri

ExtJS Model override field config

$
0
0

Hi,

ich versuche gerade ein Model im ExtJS zu überschreiben.

Ich möchte nur ein Feld, welches schon definiert ist überschreiben und den Typ ändern. Leider gelingt mir das nicht. Beispiele wo ich ein Feld einfach dazu füge ist kein Problem nur kann ich ein existierendes nicht ändern, es sei denn ich schreibe die Core Datein dafür um.

Mein Beispiel:

/**
     * adds the templates directories which expand the order module
     *
     * @param \Enlight_Controller_ActionEventArgs $args
     */
    public function onOrderPostDispatch(\Enlight_Controller_ActionEventArgs $args)
    {
        $view = $args-&gt;getSubject()-&gt;View();

        // Add view directory
        $args-&gt;getSubject()-&gt;View()-&gt;addTemplateDir(
            $this-&gt;getPluginPath() . '/Resources/views/'
        );

        if($args-&gt;getRequest()-&gt;getActionName() === 'index') {
        }

        if ($args-&gt;getRequest()-&gt;getActionName() === 'load') {
            $view-&gt;extendsTemplate('backend/order/model/override_order/position.js');
            $view-&gt;extendsTemplate('backend/order/view/override_order/position.js');

        }
    }

Die Datein werden auch dementsprechend dem Backend Module Order zugewiesen, soweit alles gut nun will ich das Feld 'quantity' von int auf float anpassen, doch das wird ignoriert. Wenn ich ein neues Feld mit einem anderen Namen einsetze geht alles ohne Probleme und das neue Feld wird dem Model hinzugefügt.

//{block name="backend/order/model/position/fields"}
{ name: 'quantity', type: 'float' }, //das geht nicht
{ name: 'test', type: 'string' }, //das geht
//{/block}

Hat jemand einen Ansatz oder eine Lösung für dieses Problem?

Google Merchant Feed xmlParseEntityRef: no name durch Apostroph

$
0
0

Beim Google-Merchant Feed (XML) bekomme ich die Fehlermeldung xmlParseEntityRef: no name durch ein Apostroph im Titel (2'500 kg).
Code:

&lt;title&gt;{$sArticle.name|strip_tags|strip|trim|truncate:80:"...":true|escape|regex_replace:"#[^\w\.%&amp;\-+ öüäÖÜÄß]#iu"}&lt;/title&gt;

Ich nehme an dass ich das Apostroph ' durch regex_replace entfernen kann. Habe aber nicht herausgefunden wie.
Für eine Lösung oder einen Lösungsansatz wäre ich Dankbar.

Einkaufswelten Element -> custom emotion component speichern

$
0
0

 Hallo,

ich versuche gerade ein neues Element für die Einkaufswelten zu erstellen. Da ich gerne einen Colorpicker hätte und es nicht fertiges gibt (wie createColorPicker) habe ich per ExtJs versucht einen zu erstellen. Dieser wird mir auch angezeigt im Backend. Jedoch wird das Feld nicht gespeichert und auch im $Data array taucht der gewählte Farbwert nicht auf.

Bin langsam am Verzweifeln. Hab nun auch schon mehrere Listener versucht und diverse speichermethoden aber nichts will. anbei mal gekürzte Bootstrap.php und mein extjs file

 

Ich hoffe es kann wer helfen.

 

LG

&lt;?php
use Doctrine\Common\Collections\ArrayCollection;
use Shopware\Models\Emotion\Library\Component;
/**
 * @author Tammo Bahn
 * @category  Emotion
 * @package   Shopware\Plugins\TBCounterBannerEmotionElement
 * @copyright Copyright (c) 2017, Tammo Bahn
 *
 */
class Shopware_Plugins_Backend_TBCounterBannerEmotionElement_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{

.
.
.

    public function install()
    {
        /**
         * Create the main component for the emotion element.
         */
        $counterElement = $this-&gt;createEmotionComponent([
            'name' =&gt; 'Counter Banner',
            'template' =&gt; 'emotion_counter',
            'xtype' =&gt; 'emotion-components-counter',
            'description' =&gt; 'A banner with counter.'
        ]);
.
.
.
.
        $counterElement-&gt;createHiddenField([
            'name' =&gt; 'color',
            'allowBlank' =&gt; true
        ]);




        /**
         * Subscribe to the post dispatch event of the emotion backend module to extend the components.
         */
        $this-&gt;subscribeEvent(
            'Enlight_Controller_Action_PostDispatchSecure_Backend_Emotion',
            'onPostDispatchBackendEmotion'
        );
        $this-&gt;subscribeEvent(
            'Shopware_Controllers_Widgets_Emotion_AddElement',
            'onEmotionAddElement'
        );

        $this-&gt;subscribeEvent(
            'Theme_Compiler_Collect_Plugin_Less',
            'onCollectLessFiles'
        );

		$this-&gt;subscribeEvent(
        'Theme_Compiler_Collect_Plugin_Javascript',
        'addJsFiles'
		);

		$this-&gt;subscribeEvent(
		'Theme_Compiler_Collect_Plugin_Css',
		'onCollectCssFiles'
		);

        $this-&gt;subscribeEvent(
            'Shopware_Controllers_Widgets_Emotion_AddElement',
            'onEmotionAddElement'
        );

        return true;
    }

    /**
     * Extends the backend template to add the grid component for the emotion designer.
     *
     * @param Enlight_Controller_ActionEventArgs $args
     */
    public function onPostDispatchBackendEmotion(Enlight_Controller_ActionEventArgs $args)
    {
        /** @var \Shopware_Controllers_Backend_Emotion $controller */
        $controller = $args-&gt;getSubject();
        $view = $controller-&gt;View();
        $view-&gt;addTemplateDir($this-&gt;Path() . 'Views/');
    }



    public function onEmotionAddElement(Enlight_Event_EventArgs $arguments)
    {
        $data = $arguments-&gt;getReturn();


        return $data;
    }


}
Ext.define('Shopware.apps.Emotion.view.components.CounterBanner', {

    extend: 'Shopware.apps.Emotion.view.components.Base',

    alias: 'widget.emotion-components-counter',

    initComponent: function () {
        var me = this;

        me.callParent(arguments);
        me.colorHiddenField = me.getForm().findField('color');
        me.createColorField();
        me.createHoverEffectWidgetFieldset();
        me.add(me.widgetFieldset);
    },

    onColorChange: function (field, value) {
        var me = this;
        me.colorHiddenField.setValue(value);
    },

    createColorField: function(){
        var me = this;
        return me.colorField = Ext.create('Shopware.form.field.ColorField', {
            fieldLabel: 'Hintergrundfarbe',
            listeners:{
                scope: this,
                select: me.onColorChange,
                change: me.onColorChange
            }
        });

    },

    createHoverEffectWidgetFieldset: function() {
        var me = this;

        return me.widgetFieldset = Ext.create('Ext.form.FieldSet', {
            title: 'Farb-Einstellungen',
            layout: 'anchor',
            defaults: { anchor: '100%' },
            items: [
                me.colorField
            ]
        });
    },


});

 


mehrere Artikel gleichzeitig in den Warenkorb

$
0
0

Hallo.

 

Ich weiß, das Thema gibt es schon ein paar mal. Aber keines hat mir weiter geholfen. Wie oben erwähnt, möchte ich mehrere Artikelvarianten (Produkt ist in verschiedenen Farben lieferbar) gleichzeitig in den Warenkorb legen können. Ich bekomme die Datei config_variant zwar so erweitert, dass ich für jede Variante eine Mengenauswahlbox habe, aber dann hänge ich fest :-( vielleicht erbarmt sich ja jemand.

 

Gruß

Varianten Darstellung auf Detailseite

$
0
0

Hallo ich hätte die Variantenanzeige auf der Artikeldetailseite gerne wie hier auf dem Bild:

image

 

Kann mir das jemand machen ?

Konfiguration für Plugins > 5.2

$
0
0

Hallo,

Weiß jemand wie man die Config für Plugins nach dem 5.2 Schema anlegt? Ist es über das XML möglich?

Danke & LG

SEO-URL für supplier wird nicht umgeschrieben

$
0
0

Hallo,

 

eine meiner Hersteller URL wird nicht umgeschrieben. In der Tabelle `s_core_rewrite_urls` ist sie auch nicht vergeben. Was kann ich tun?

Adcell Belboon & Co Tracking einbinden

Viewing all 2871 articles
Browse latest View live


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