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

Custom Page mit komplexem Layout

$
0
0

Guten Tag,

wir erstellen gerade einen Shop, der einige Custom Pages mit sehr komplexem Layout enthält. Wir überlegen nun, wie wir die Inhalte am besten pflegbar machen können. Vergleichsweise in Wordpress würden wir dafür bspw. verschiedene Shortcodes für die einzelnen Elemente zu erstellen, sodass der Inhalt entsprechend gerendert wird. Gibt es in Shopware eine ähnliche Möglichkeit?

Vielen Dank und beste Grüße!


Eigene Smarty-Funktion für die Erstellung von SEO URLs

$
0
0

Hallo,

ich habe ein Plugin geschrieben, was eine Smarty-Funktion für eine recht komplexe Erstellung der SEO Urls bereitstellt. Das Plugin funktioniert auch und ich kann die Smartyfunktion auch im Shop verwenden. Leider greift die Funktion aber nicht, wenn ich sie in den SEO Einstellungen eintrage und damit dann neue URLs generieren lassen möchte. 

Hat einer einen Tipp für mich, wie ich hier am besten eine Erweiterung machen kann oder ist das nicht möglich?

Gruß
Joscha

!$sArticle.liveshoppingData Variable auf Detailseite

$
0
0

Welche Variable wird für Liveshopping Aktionen verwendet? {if $sArticle.liveshoppingData} funktioniert leider nicht :( 

{if !$sArticle.liveshoppingData}
...
..
.
{/if}

 

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

HTTP Cache invalidieren

$
0
0

Hallo,

ich möchte manuell den HttpCache eines bestimmten Artikels invalidieren, aber das klappt irgendwie nicht - es passiert schlichtweg nichts.
Mittels

$cacheId = 'a'.$articleId;
$cachware()->Events()->notify(
    Shopware_Plugins_HttpCache_InvalidateCacheId',
    array('cacheId' => $cacheId)
); 

soll ein BAN-Request erzeugt werden, das ist an verschiedenen Stellen im Wiki und Forum dokumentiert.
Es passiert jedoch rein gar nichts, der Cache liefert die Seite schnell & munter weiter aus.

Kann jemand helfen?

Viele Grüße
Nils

Plugin Scope Config in Cron abrufbar?

$
0
0

Ich habe ein Plugin, welches ein subshopspefische Configuration hat. (wie hier: http://community.shopware.com/Subshopspezifische-Pluginkonfiguration_detail_1673.html)

Meine Frage:

Ich habe nun einen Cronjob der Aufgaben pro Shop erledigt und dabei möchte ich auf diese subshopspezifische Config zugreifen. Wie kann ich das machen? In allen Beispielen, die ich gefunden habe ist die Scope durch das Frontend quasi gesetzt. Im Cron habe ich aber keinen aktuellen Scope sondern nur alle Shops als Doctrine Objekte.

Hat jemand eine Idee?

Wie kann die Plugin-Konfiguration z.B. bei einem Update manuell geändert werden?

$
0
0

Beispiel: ein installiertes Plugin erhält ein Update und möchte veraltete Werte in seiner eigenen Konfiguration, die vom Nutzer gesetzt wurden, durch neue Werte ersetzen.

Der Zugriff auf die Config im Plugin erfolgt ja z.B. mit

$this->Config()->get('key');

Leider lassen sich entsprechend andere Methoden genutzt, die Werte aber nicht in die Config zurückschreiben:

$this->Config()->set('key', 'val');
// ODER
$this->Config()->offsetSet('key', 'val');

Weiss jemand ob und wie das möglich ist?

Blogkategorie im Frontend ausgeben?

$
0
0

Hallo,

wie kann man in der Artikelübersicht  des Blogs die jeweilige  Blogkategorie ausgeben?

 

Hiermit erhalte ich schonmal die URL und ID der jeweiligen Kategorie:

 {foreach from=$sBlogArticles item=sArticle key=key name="counter"}

// link zur Kategorie

{url controller=blog action=detail sCategory=$sArticle.categoryId}

// ID der Kategorie

 {$sArticle.categoryId}


{/foreach}

 

Grüße,

Alexander H.


Plugin .tpl Datei abändern

$
0
0

Ich würde gerne einen {block} aus einer Plugin .tpl Datei verändern. Wie mache ich dies updatesicher?

Abstraktion der Plugin Konfiguration für TDD

$
0
0

Ich habe eine SubShopspezifische Konfiguration pro Shop, die ich in einem Cronjob verarbeiten möchte.

$shop->registerResources();

$subConfig = Shopware()->Plugins()->Backend()->MyPlugin()->Config()

Hilft mir dabei den aktuellen Context für die Config zu setzen.

Damit meine Klassen allerdings testbar bleiben möchte ich nicht innerhalb der Klassen nicht den Container aufrufen. Ich würde hier gerne eine Abhängigkeit der Klasse übergeben über welche ich dann die Config abrufen kann. Jemand eine Idee, ob das mit Plugin Configs überhaupt möglich ist?

Danke im voraus.

 

Artikeldetails ausblenden ohne Login (SW 5.2.X)

$
0
0

Hallo zusammen, 

gibt es eine Möglichkeit einzelne Block-Sektionen des Artikeldetail Tabs Description nur nach erfolgreichem Login sichtbar zu machen? 
Zum Beispiel möchte ich PDF-Dokumentationen zu Artikeln nur nach erfolgreichem Login zum Download bereitstellen. Die PDF-Dokumente sind bei der Artikelerstellung unter Ressourcen/Downloads/… hinzugefügt worden. 

Ich habe ein eigenes Theme das auf Responsive basiert und folgende Vererbung erstellt: 

{extends file='parent:frontend/detail/tabs/description.tpl'}

Gibt es nun eine Möglichkeit, dass ich folgenden Block mit einem "if" Befehl ausblenden kann, wenn jemand nicht eingeloggt ist? 

{block name='frontend_detail_description_downloads'}
...
...
...
{/block}

Vorab besten Dank für eure Hilfe!

Hook nur über Frontend feuern

$
0
0

Hallo zusammen,

ich habe wieder mal ein kleines Problem.

In einem Plugin hooke ich an Shopware\Models\Customer\Address.

Ich möchte nun aber, dass meine Funktion nur ausgeführt wird, wenn ein User im Frontend seine Adresse ändert, nicht dagegen wenn ich etwas über das Backend verändere.

Wie bekomme ich also raus, ob der Aufruf vom Front- oder Backend kommt?

Besten Dank & ein schönes Wochenende 

globale Varianten Lagerverwaltung

$
0
0
Liebe Shopware Community,

wir sind neu in der Materie von Shopware und bedanken uns vorab für eure Unterstützung!

Wir haben Shopware 5.0.2. und sind als Reiseveranstalter mit Bustouren zu Festivals tätig.
Nun haben wir folgendes Problem mit der Lagerverwaltung.

Wir nutzen die Varianten als mögliche Abfahrtsorte zum auswählen. Unser Problem dabei ist, dass in einen Bus maximal 50 Personen passen, wir aber mehrere Abfahrtsorte ( Varianten) haben.

Wenn bei mehreren Abfahrtsorten nun die 50 Sitze erreicht sind, sollte unser Shop eigentlich das Buchungssystem abschalten, da wir keine Kapazitäten mehr frei haben.

Dies funktioniert so allerdings nicht, da wir nur PRO einzelnem Abfahrtsort (PRO einzelner Variante) einen eigenen Lagerbestand haben.

Als Beispiel:
Wir haben die Abfahrtsorte Koblenz, Köln und Frankfurt.
In unseren Bus passen 50 Personen hinein und wir haben in jeder Variante 50 Lagerbestand eingestellt (damit in jeder Stadt genug Leute buchen können…)

Person X bucht 40 Plätze in Koblenz, nun sind ingesamt nur noch 10 Plätze im Bus verfügbar.
Allerdings ist es möglich bei Köln und Frankfurt jeweils weitere 50 zu buchen .

Gibt es die Möglichkeit, Varianten übergreifend einen globalen Lagerbestand zu programmieren/einzustellen?

Für Antworten wäre ich sehr dankbar.
Sollten Fragen auftauchen stehe ich jederzeit gerne zur Verfügung.

Grüße

Tobias

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

Shopware login problem

$
0
0

Hi allerseits,

seit gut zwei wochen haben wir in unserer shopware instanz (v 5.2.2) des öfteren mails von kunden die sich nicht mehr einloggen können.

vor gut 4 wochen hatten wir eine 4 zu 5.2.2 migration mit komplett import etc.

da ich nix im github oder bugtracker finde, weiss jemand wie ich loggen kann, wenn jemand sich falsch eingeloggt hat?

ich kanns überhaupt nicht reproduzieren, meine accounts die ich vor der migration und nach der migration angelegt habe, funktionieren alle. bei fast 100 kundenmails glaube ich und auch mein kunde nicht mehr an einen userfehler.


Bei Änderung der Theme.php - Server Error 500

$
0
0

Hallo,

wollte das Script mit Scroll2Top  ( https://shopwareianer.com/tutorials/shopware-scroll-to-top-button ) einfügen - das einen JS Eintrag in der Theme.php des erstellten Themes vorraussetzt, doch bekomme immer einen 500 Server Error, sobald ich in der Theme.php irgend etwas ändere. Egal, auch wenn es nur eine Buchstabe im Author oder ähnliches ist.

Das tritt seit dem Update auf 5.2.5 auf - seitdem gibt es auch alte Plugins, die ich nicht mehr aktiviren und auch nicht mehr deinstallieren kann. Bekomm im Log, wenn ich die geänderte Theme.php einfüge diesen Error "Plugin SwfDefaultPersonalAccount is encrypted but ioncube Loader extension is not installed".

Ist die Theme.php mittels irgendeinem Plugin geschützt gegen Änderung?

Gruß André

breadcrumb.tpl anpassen gelingt mir nicht so, wie ich es gerne hätte.

$
0
0

Hi,

wo ich schonmal dabei bin, Fragen zu stellen (siehe meine anderen heutigen Fragen...), mache ich beim Thema Programmierung gleich mal weiter.
Und zwar geht es um Folgendes:

Ich habe teilweise Kategorien mit bis zu 5 Unterkategorien. Ein Beispiel:

Kondensatoren - Sortierung nach Kapazität - >10nF - 47nF - 63V

Da ich Tausende verschiedene Kondensatoren anbiete, die man ohne solch eine Art Katalogisierung nicht einfach finden würde, gibts in meinem Fall leider keine andere (mir einleuchtende) Möglichkeit, statt der vielen Unterkategorien.
Nun gibt es aber auch Kategorien wie z.B.:

- Gebläsekontrollmodule

Nun habe ich die breadcrumb,tpl Datei mittels truncate so geändert, dass die Begriffe im Breadcrumb auf 15 Zeichen gekürzt wird, damit bei vielen Unterkategorien das Layout nicht "zerschossen" wird. Das klappt auch alles ganz wunderbar.

Aber ich bekomme ich trotz diverser Versuche nicht hin, dass nur gekürzt wird, falls eine bestimmte Zeichenanzahl erreicht wurde, sodass auch beim Aufruf der Kategorie Gebläsekontollmodule Folgendes im Breadcrumb steht:

Produkte - Gebläsekonto..

Dies ist natürlich nicht gewollt. Zudem habe ich im Breadcrumb eine zu kleine Schriftgröße wählen müssen, damit lange Bezeichnungen bei vielen Unterkategorien in den Breadcrumb passen. Dies ist natürlich bei kurzen Bezeichnungen wie Gebläsekontrollmodule auch unnötig. Jedoch bekäme ich diese Anpassung hin, wenn es mir nur gelingen würde, dass erst ab einer bestimmten Zeichenanzahl überhaupt erst "getruncated" wird. Bestimmt übersehe ich nur eine Kleinigkeit oder habe bei meinen Versuchen mittels counter u.Ä. irgendwelche Syntax- oder Logikfehler gemacht. Vielleicht kann mir ja jemand mit meinem Problem weiterhelfen. Hier folgt der aktuelle Code meiner breadcrumb.tpl Seite:

 

<ul class="breadcrumb--list" role="menu" itemscope itemtype="http://schema.org/BreadcrumbList">

	{* Prefix for the breadcrumb e.g. the configured shop name *}
	{block name="frontend_index_breadcrumb_prefix"}{/block}

    {block name="frontend_index_breadcrumb_content"}
        {foreach $sBreadcrumb as $breadcrumb}
            {block name="frontend_index_breadcrumb_entry"}
                <li class="breadcrumb--entry{if $breadcrumb@last} is--active{/if}" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
                    {if $breadcrumb.name}
                        {block name="frontend_index_breadcrumb_entry_inner"}
                            <a class="breadcrumb--link" href="{if $breadcrumb.link}{$breadcrumb.link}{else}#{/if}" title="{$breadcrumb.name|escape}" itemprop="item">
                                <link itemprop="url" href="{if $breadcrumb.link}{$breadcrumb.link}{else}#{/if}" />
                                <span class="breadcrumb--title" itemprop="name">{$breadcrumb.name|truncate:15:'..':true:false}</span>
                            </a>
                            <meta itemprop="position" content="{$breadcrumb@index}" />
                        {/block}
                    {/if}
                </li>
                {if !$breadcrumb@last}
                    <li class="breadcrumb--separator">
                        <i class="icon--arrow-right"></i>
                    </li>
                {/if}
            {/block}
        {/foreach}
    {/block}

    {block name="frontend_index_breadcrumb_suffix"}{/block}
</ul>

 

Wäre auch für Ansätze und Denkanstöße dankbar!

MFG
Nils

HTTP-Caching für Detailseiten

$
0
0

Hallo Leute,

angenommen man hat http-caching aktiviert und ändern direkt über die DB einen Preis.
Dann wird der Preis im Listing und bspw. in der Suche direkt richtig angezeigt.
Das klappt allerdings nicht auf der Detailseite. Diese ist noch gecached.

Wenn man allerdings ins Backend geht und dort den Preis eines Artikels ändert, teil das Backend dem Cache eine Art invalidierung mit und die Detailseite wird neu erzeugt inklusive des geänderten Preises.

Meine Frage wäre: Wie macht das Backend das?
Könnte ich irgendwo in der DB ein Flag dafür setzten oder einen Timestmap oder das irgendwie anders triggern?

Wäre wirklich interessant da einen Ansatz zu finden.

Gruß Yuri

Probleme mit VariantenFilter GitHub

$
0
0

Hallo Zusammen,

 

wir setzen den Varianten Filter von der GitHub Seite https://github.com/shopwareLabs/SwagVariantFilter ein.

Folgendes Problem besteht mit der aktuellen Version 5.2.5:

 

Bei Aufruf des Filters gibt es einige Eigenschaften des Artikels die als Filter angezeigt werden.

Beim Filtern ändert sich hier auch die Artikelanzahl im blauen Button "Produkte anzeigen".

image

Wenn ich beim Variantenfilter eine bestimmte Variante anklicke ändert sich die Artikelanzahl nicht.

image

Beim Klick auf den Button wird dann jedoch die richtige Menge angezeigt.

Hat jemand eventuell eine Lösung um beim Auswahl der Variante bereits den Count richtig darzustellen, da dies sehr iritierend ist?

 

to slash or not to slash...

$
0
0

wie können wir in eine plugin testen ob eine url existiert in shopware?

ich sollte eine shopware plugin schreiben was prüft ob die request url doch mit oder ohne slash existiert, und wenn ja, 301 weiterleiten...

Viewing all 2871 articles
Browse latest View live


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