Das Formular kommt aus der Formular-Verwaltung, soll auch weiterhin so bleiben!
Wie kann ich ein Formular für unangemeldete Kunden sperren / verbergen? (Ticket-System installiert)
Pfüren ob User angemeldet ist - im Template
Hi,
gibt es eine Möglichkeit im Template zu prüfen ob ein User eingeloggt ist?
a la
{if $sUserData.firstname != "" && $sUserData.lastname != ""}
LG
Grundeinstellungen Versandkosten-Modul
Hallo allerseits,
ich habe versehentlich den Eintrag in "Erweiterte SQL-Abfrage" gelöscht, seit dem läuft der Warenkorb nicht mehr.
Ich habe nun schon ewig gesucht, aber nicht den ursprünglichen Eintrag finden können. Kann mir jemand verraten was hier von der Installation aus eingetragen war? Bis zu diesem Missgeschick lief eigentlich alles rund...
VIELEN DANK schon einmal.
REST API - Update eines Preises (Nur eine Kundengruppe ohne die anderen zu überschreiben)
Also ich habe nun schon einige Googleanfragen gestellt, viele Beiträge auch hier im Forum durch gelesen aber es war bis lang noch nicht die richtige Information dabei!
Ich versuche mittels der REST-API einen Preis in meinem Shop zu aktualisieren.
$art = "SW10176-1";
$param = array(
'mainDetail'=> array(
'prices' => array(
array(
'customerGroupKey' => 'EK',
'price' => 100.00,
)
)
)
);
$rest->put("articles/{$art}?useNumberAsId=true", $param);
das ganze funktioniert auch, bis auf einen kleinen Fehler.
Bei jedem Update werden alle Preise der anderen Kundengruppen überschrieben... also Händlergruppe 1, Händlergruppe 2, Amazonkunden usw.
Meine Frage hier ist, wie kann ich den Preis aktualisieren ohne die Preise für die anderen Gruppen mit zu geben?
Probleme:
Ich kenne die anderen Preise der unterschiedlichen Kundengruppen während des Updates nicht und diese sollen wie gehabt bleiben!
Nach SSL-Aktivierung, Probleme mit FF, ungültiges Sicherheitszertifikat
Hallo,
ich habe bei meinem Provider das RAPIDSSL Zertifikat bestellt. Das ist auch mittlerweile aktiv.
https://www.dmsolutions.de/alphassl.html
Als nächstes habe ich im Backend Folgendes eingestellt.
Als nächstes habe ich die htaccess angepasst. Bezogen auf diese Diskussion und die Antwort von Moritz Naczenski.
<IfModule mod_rewrite.c>
RewriteEngine on
#RewriteBase /shopware/
# Https config for the backend
RewriteCond %{HTTPS} !=on
#RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]
RewriteCond %{REQUEST_URI} !(\/(engine|files|templates|themes|web)\/)
RewriteCond %{REQUEST_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ shopware.php [PT,L,QSA]
# Fix missing authorization-header on fast_cgi installations
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>
<IfModule mod_alias.c>
# Block access to VCS directories
RedirectMatch 404 /\\.(svn|git|hg|bzr|cvs)(/|$)
# Restrict access to root folder files
RedirectMatch 404 /(composer\.(json|lock)|README\.md|UPGRADE\.md)$
</IfModule>
# Staging environment
#SetEnvIf Host "staging.test.shopware.in" SHOPWARE_ENV=staging
# Development environment
#SetEnvIf Host "dev.shopware.in" SHOPWARE_ENV=dev
#SetEnv SHOPWARE_ENV dev
DirectoryIndex index.html
DirectoryIndex index.php
DirectoryIndex shopware.php
# Disables download of configuration
<Files ~ "\.(tpl|yml|ini)$">
# Deny all requests from Apache 2.4+.
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
# Deny all requests from Apache 2.0-2.2.
<IfModule !mod_authz_core.c>
Deny from all
</IfModule>
</Files>
# Enable gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/xml text/plain text/css text/javascript application/javascript application/json
</IfModule>
<Files ~ "\.(jpe?g|png|gif|css|js|woff|eot)$">
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
</IfModule>
<IfModule mod_headers.c>
Header append Cache-Control "public"
Header unset ETag
</IfModule>
FileETag None
</Files>
# Match generated files like:
# 1429684458_t22_s1.css
# 1429684458_t22_s1.js
<FilesMatch "([0-9]{10})_(.+)\.(js|css)$">
<ifModule mod_headers.c>
Header set Cache-Control "max-age=31536000, public"
</ifModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 year"
</IfModule>
</FilesMatch>
# Disables auto directory index
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_php5.c>
# php_value memory_limit 256M
# php_value max_execution_time 120
# php_value upload_max_filesize 20M
php_flag phar.readonly off
php_flag magic_quotes_gpc off
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
php_flag zend.ze1_compatibility_mode off
</IfModule>
# AddType x-mapp-php5 .php
# AddHandler x-mapp-php5 .php
<IfModule mod_headers.c>
Header append X-Frame-Options SAMEORIGIN
</IfModule>
Danach habe ich alle Browser Caches gelöscht und auch nochgmal CCleaner drüber laufen lassen.
Wenn ich nun mit der neusten Version von Chrome und Edge benutze, wird die Seite ganz normal mit https:// angezeigt.. Nur FF gibt mir diese Meldung aus.
Und andere Benutzer der Seite, bestätigten diese Warnmeldung.
Warum meckert FF rum? Zufällig jemand eine Idee? Der Provider sagte, auf dem Server ist alles ok. o0?
Grüße
Backend User ermitteln
Hallo zusammen,
ich würde gerne in einem Plugin den den aktuellen Backend-User speicher, der eine bestimmte Aktion ausführt. Ähnlich wie bei der Historie.
Weiß jemand wie ich den auslesen kann?
Vielen Dank schon mal für eure Hilfe!
LG Max
How to get Enlight_Event_EventArgs $arguments in front end plugin php action function
Hi i want Enlight_Event_EventArgs $arguments in class Shopware_Controllers_Frontend_test extends Enlight_Controller_Action function name public function createNewId()
Thank you in advance
Ausgabe von Attribut nicht bei NULL, true oder false
Hallo,
ich habe ein Attribut-Feld angelegt und in manchen Zellen steht noch NULL oder true oder false. Kann ich die Ausgabe unterbinden wenn diese Werte enthalten sind?
Gruß
Patrick
get error in plugin
I use this plugin on my other shop its working well but when i install it to other shop its gave me this error please help me out ..
Fatal error: Uncaught exception 'Enlight_Controller_Exception' with message 'Controller "shopware.php" not found' in /var/www/clients/client1/web33/web/engine/Library/Enlight/Controller/Dispatcher/Default.php:486 Stack trace: #0 /var/www/clients/client1/web33/web/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #1 /var/www/clients/client1/web33/web/engine/Shopware/Kernel.php(153): Enlight_Controller_Front->dispatch() #2 /var/www/clients/client1/web33/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #3 /var/www/clients/client1/web33/web/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #4 /var/www/clients/client1/web33/web/vendor/symfony/http-kernel/HttpCache/Ht in/var/www/web/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 486
503 Service Unavailable
Fatal error: Undefined class constant 'self::SELECT_WITHOUT_FROM_PART' in /var/www/web/engine/Library/Zend/Db/Table/Abstract.php on line 1016
Eigene Auswertungen/Statistik
Hallo Zusammen,
kann ich meine eigene Auswertungen erstellen? Wenn ja, welche Methoden muss ich nutzen?
Seite nicht gefunden: Ziel und Fehlercode
Ich benötige Rat zu den beiden o.g. Einstellungen. Ziel ist bei mir die Startseite, Fehlercode 404
Folgendes Problem muss ich sinnvoll lösen:
Nach Start des SW-Shop und Abschalten des „alte Shops“ reklamieren die Webmastertools 500 Fehler 404. Die meisten URLs des alten Shops konnten beibehalten werden, andere habe ich per 301 umgeleitet.
Bemängelt werden unter anderem Kommentarseiten aus dem alten Shop und URLs die es schon seit Jahren nicht mehr gibt und die ich natürlich nicht per 301 umleite. Ich war der Meinung, dass – eben weil immer auf die Startseite geleitet wird – das für Google kein Problem darstellt.
Wäre es hier sinnvoll, jetzt (oder später) 410 auszugeben, damit die URL aus dem Index entfernt wird? Das geht dann wohl in der Anfangszeit noch zu Lasten der Besucherzahlen. (Wobei ich natürlich nicht weiß, ob die betroffenen URLs überhaupt ranken) Da wäre es mir fast lieber, Google noch einige Wochen/Monate meckern zu lassen.
Betreffen diese SEO-Routereinstellungen auch die Bilder?
95% der Besucher kommen sortimentbedingt über die Bildersuche. Da sich die URL der Bilder bei SW nicht nachbauen ließ, verschwinden dann wohl recht schnell die Bilder aus dem Index – noch bevor die neuen indexiert wurden.
Auch wenn Google über die 404 meckert, könnten auch über die falschen URLs immer noch Besucher in den Shop gelangen. Was ist jetzt das größere Übel und die geschickteste Vorgehensweise?
LG
Plugin Abfrage Firmen oder Privatkunde
Gibt es die Möglichkeit das der Kunde bevor er Artikel anschaut so eine Art Abfrage PopUp gibt wie auf dem Bild zu sehen? Ein Plugin vielleicht!?
LG. Melanie
Shopware API mit Chrome-Plugin Postman testen
Hallo Zusammen,
ich möchte gerne Api-Abfragen mit Postman testen.
Testen möchte ich die Articles GET(Liste) -> http://www.meinshop.dev/api/articles
Wenn ich als Authentifizierungsmethode Digest Auth verwende und Username + API-Schlüssel eingebe erhalte ich den Status 400 Bad Request und den Body
{
"success": false,
"message": "Invalid or missing auth"
}
Wenn ich No Auth verwende erhalte ich im Header:
Www-Authenticate →Digest realm="Shopware REST-API", domain="/", nonce="29cd610b637e4d7f62f8106b195ff3ff", opaque="d75db7b160fe72d1346d2bd1f67bfd10", algorithm="MD5", qop="auth"
Für die nächste Digest Auth Anfrage fülle ich dann die Felder Realm, Nonce, qop und Opaque aus.
Leider erhalte ich hier auch den Status 400 Bad Request.
Testweise habe ich noch Nonce Count mit 1 gefüllt und Client Nonce mit 123 mit dem gleichen Ergebnis.
Die Schnittstelle sollte funktionieren, da ich mich mit Guzzle authentifizieren kann und auch Daten zurückbekomme.
Hat jemand eine Idee oder sogar eine fertige Postman Collection, die er mit mir teilen würde?
Vielen Dank im Voraus!
REST API Auth geht nicht mehr...
Also ich habe die ganze Zeit in 2 verschiedenen Shops REST-Verbindungen gemacht und mir Daten selektiert...
Seit heute geht es nicht mehr... ich bekomm immer
HTTP: 400
No Success
Invalid or missing auth
Wenn ich auf die Domain gehe und die Daten per Hand eingebe dann kann ich mich einloggen.
Ergo: User ist korrekt, Admin, Aktiv und hat einen API-Key.
Aber wenn ich es über die Klasse mache geht es nicht mehr... Was heißen soll, es ging bislang wie gewollt.
An der htaccess kann es auch nicht liegen. Wie gesagt, es ging vorher und die entsprechenden Infos wegen der Auth stehen drin (wenn es cgi ist).
Auch mit der Aktuellen SW-Version ging es (5.1.2)...
Shop 1: update auf die 5.1.3 steht noch aus (geht auch nicht mehr).
Shop 2: update wurde gemacht. Aktuelle version 5.1.3 (rest geht auch nicht mehr)
Jemand ne Idee an was es liegen kann?
Verhindern, dass man ein Produkt (inkl. Varianten) mehrfach in den Warenkorb legen kann
Hallo zusammen,
Ich hab ein uraltes Problem, welches ich irgendwann schon mal gelöst habe, aber eben nicht in Shopware 5
Es geht darum, dass ich einen Artikel habe, welcher nicht mehrfach im Warenkorb landen soll: Maximalabnahme greift nicht, da es ein Variantenartikel ist und es sollen nicht mehrere Varianten desselben Artikels im Warenkorb liegen.
Mein alter Lösungsweg ging über Hooks und dann habe ich glaube ich eine AddArticle-Methode mit Hilfe eines Hooks ersetzt. Das schien mir doch sehr unschön, falls sich die Art und Weise wie Shopware Artikel in den Warenkorb legt einmal ändert.
Ich dachte, ich probiere einen neuen Lösungsweg und halte mich an die Anleitungen aus dem Developer Guide. Dort heißt es sinngemäß:
Wenn man z.B. verhindern möchte, dass ein Artikel zum Warenkorb hinzugefügt wird, so sollte man das AddArticle-Event verwenden.
Das Event habe ich dann auch "subscribed" und versuche in meiner Methode AddArticle_hack das ganze zu lösen.
$this->subscribeEvent('Shopware_Modules_Basket_AddArticle_Start', 'AddArticle_hack');
Das schöne ist ja auch, dass man dort mit einem einfachen "return false" das Hinzufügen verhindern könnte, aber mir gelingt es nicht, von dort aus auf den aktuellen Warenkorb zuzugreifen. Ich müsste aber natürlich auf den Warenkorb und seine Artikel zugreifen, um die Bedingung entsprechend formulieren zu können.
Meine Frage lautet also: Wie greife ich von meinem Event Listener aus auf den Warenkorb zu??? Das müsste doch möglich sein! Falls nicht, würde ich mich freuen, wenn man mir eine Inspiration geben könnte, wie man dies am saubersten löst. Ich will jedenfalls keine so wichtige, hauseigene Methode "replacen".
Vielen Dank im Voraus!
----------
Now in english:
I want to avoid, that it is possible to add two variants of the same article to the cart. My (unsuccessfull) solution is to subscribe the "Shopware_Modules_Basket_AddArticle_Start"-Event. This would be great, because a simple "return false" there could prevent me from adding an article to the cart. Unfortunately i don't know, how i can reach the Basket-Items from my event-listener to check, whether there is already the same article in the basket (or another variant from the same article).
Thank you in advance!
Tägliche Fehlermeldungen verursacht durch Gbot /robots.txt ?
Hallo,
seit der Shop live ist und die Sitemap bei google erhalte ich täglich 3 Fehlermails. Hier bin ich beim Lesen/Interpretieren noch etwas ungeübt. Ich vermute, dass der Googlebot versucht auf widgets zuzugreifen, was glaube ich in der robots.txt ausgeschlossen wurde (habe Standardeinstellungen übernommen).
So sieht die Meldung aus:
core
{
"uri": "/backend/widgets/getLastOrders?_dc=1458358059614&page=1&start=0&limit=25",
"method": "GET",
"query": {
"_dc": "1458358059614",
"page": "1",
"start": "0",
"limit": "25",
"module": "backend",
"controller": "widgets",
"action": "getLastOrders"
},
"post": []
}
An Stelle von "getLastOrders?" steht auch " getTurnOverVisitors? " oder " getVisitors? "
Interpretiere ich das richtig? Besteht hier Handlungsbedarf?
LG
Lieferzeiten neu definieren
Hallo
Mir ist klar, dass man die Textbausteine für die Lieferzeiten vordefinieren kann.
Dabei habe ich aber nur die Möglichkeit von drei Stati.
wir arbeiten mit Actindo und würden gerne die Lieferzeiten neu definieren.
Jetzt werden mit dem Connector als Lieferstatus nur 0 Tage, 1, Tage, .... 24 Tage übertragen.
Wir möchte jedoch folgende Lieferzeiten vordefinieren:
1. Lagernd ca. 1-3 Werktage*
2. ca. 2-5 Werktage*
3. ca. 4-7 Werktage*
4. ca. 7-10 Werktage*
5. ca. 10-15 Werktage*
6. ca. 15-20 Werktage*
7. ca. 2-3 Wochen*
8. ca. 2-4 Wochen*
9. ca. 3-4 Wochen*
10. ca. 4-6 Wochen*
11. ca. 6-8 Wochen*
12. ca. 1-2 Monate*
13. auf Anfrage
14. Artikel ist bestellt
15. Zur Zeit ausverkauft
ist das möglich? bzw. wie?
also soll ab einer gewissen Tagesanzahl "Wochen statt Tage" ausgegeben werden.
Vielen Dank.
unitize mixin
Hallo an alle Frontender,
ich kann mir das Verhalten vom unitize mixin nicht erklären. Ich habe die Beobachtung gemacht, dass wenn bspw. padding mit unitize in rem angegeben wird die Größe trotzdem fix ist (resize des Fensters führt zu keiner Veränderung, was das Nutzen von rem/unitize ziemlich nutzlos macht).
Ist das so gewollt oder check ich da was nicht?
Beste Grüße
Muss die frontend/index/header.tpl auch im eigenen Theme erweitert werden?
Hallo Fachwelt,
muss die frontend/bare/frontend/index/header.tpl auch im eigenen Theme erweitert werden (wg. Update-Sicherheit), wenn ich den
{block name='frontend_index_header_meta_tags'}
um einen eigenen Meta-Tag erweitern will?
Danke im Voraus.
Grüße
Michael
Wie Lieferzeit vom Cache ausschließen?
Hi zusammen,
hat jemand einen Tip wie man die Lieferzeit vom Cache ausschließen kann? Hintergrund ist, nur als Beispiel, das ab Freitag Mittag eine anderer Lieferzeit angezeigt werden soll.
Im Bearbeitungsmodus funktioniert das wie gewünscht, nur im Produktivmodus wird das alles aus dem Cache gezogen.
Bin für jeden Tip dankbar!
Gruß