Revamp Webshop: Automatische Kurzbeschreibung: Unterschied zwischen den Versionen

Aus revampedia
Zeile 42: Zeile 42:
 
:''--> Erweiterungen --> Template --> '''in der Spalte Template''' auf den Namen klicken''
 
:''--> Erweiterungen --> Template --> '''in der Spalte Template''' auf den Namen klicken''
  
Die Kurzbeschreibung findet sich somit unter:
+
Die Kurzbeschreibung View findet sich somit unter:
  
 
<pre>/var/www/revamp/jodir_ut/administrator/templates/isis/html/com_virtuemart/product</pre>
 
<pre>/var/www/revamp/jodir_ut/administrator/templates/isis/html/com_virtuemart/product</pre>
Zeile 72: Zeile 72:
 
./media/system/js/core-uncompressed.js: Joomla.submitbutton( pressbutton );
 
./media/system/js/core-uncompressed.js: Joomla.submitbutton( pressbutton );
 
[ ... ]</pre>
 
[ ... ]</pre>
 +
 +
'''--> Nicht ganz korrekt''' Hier wird lediglich submit (mittels JavaScript Funktion) aufgerufen.
 +
 +
Das Formular ist:
 +
 +
<source lang="html5">
 +
 +
 +
 +
==== Überlegungen/Versuche: ====
 +
 +
Die Eingabe der Kurzbeschreibung und die Eingabe der Custom Fields erfolgt über dasselbe Formular. Daher ist es in der View nicht einfach so möglich die Kurzbeschreibung aus den Custom Fields zu erstellen.
 +
 +
Dies müsste somit '''nach''' dem Submit gemacht werden. Das Formular wird an index.php geschickt und was dann geschieht ist schwer nachvollziehbar. Irgendwann endet es wohl im Product Controller. Eine Anpassung von Controllers ist aber durch Overrrides nicht vorgesehen.
 +
 +
'''Recherche dazu:'''
 +
 +
- Google Suche "

Version vom 4. Februar 2016, 17:59 Uhr

Die Kurzbeschreibung soll automatisch aus custom-fields erstellt werden.

Lösungsmöglichkeiten

V1.

Bei der Ausgabe generieren.

(+) Ausgabe wird dynamische/automatische generiert (aktuelle Daten)

(---) Serverzeit zum erstellen, viele DB Abfragen etc.

(---) Code muss an verschiedenen Orten angepasst werden

V2.

Bei der Eingabe generieren und in der Datenbank als Kurzbeschreibung speichern.

(+) Keine Anpassung der Ausgabe nötig, diese ist automatisch überall richtig (Produktliste, einzelne Produkte etc.)

(-) Was geschieht mit bereits erfassten Artikeln ? --> diese werden im Laufe der Zeit angepasst, wir müssen eh alle Artikel nochmals überprüfen

V2 ist besser.

Umsetzung

Innerhalb der Testumgebung: rochen:/var/www/revamp/jodir_ut/..

Das Backend verwendet die sogenannte "isis" template.

Für die Produkt-Editier Ansicht wurde bereits ein "template override" erstellt.

Wo ist dieses ?

caydin@rochen:/var/www/revamp/jodir_ut$ grep -r "neue Artikelnummer" *
administrator/templates/isis/html/com_virtuemart/product/product_edit_information.php:	[ \ ]
	echo ' neue Artikelnummer: ';include '/var/www/revamp/shop2csv/next_sku.php';?>
[ ... ]

BTW/Bemerkung: Wo werden doch gleich im Joomla Adm. die Overrides erstellt ? Auf Anhieb nicht gefunden...

--> Erweiterungen --> Template --> in der Spalte Template auf den Namen klicken

Die Kurzbeschreibung View findet sich somit unter:

/var/www/revamp/jodir_ut/administrator/templates/isis/html/com_virtuemart/product

in der Datei: product_edit_description.php

Dort wird sie ausgelesen mittels:

<textarea class="inputbox" name="product_s_desc"
 id="product_s_desc" cols="65" rows="3" >
    <?php echo $this->product->product_s_desc; ?>
</textarea>

Das formular wird allerdings mittels Javascript übermittelt (z.B. der "Speichern" Button):

	<button onclick="Joomla.submitbutton('save')" class="btn btn-small">
	<span class="icon-save"></span>
	Speichern &amp; Schließen</button>

Wo findet sich die Funktion Joomla.submitbutton ?

rochen:/var/www/revamp/jodir_ut$ grep submitbutton `find . -name "*.js"`
[ ... ]
./media/system/js/core-uncompressed.js:	Joomla.submitbutton = function( pressbutton ) {
./media/system/js/core-uncompressed.js:	 * @deprecated  12.1 This function will be removed in a future version. Use Joomla.submitbutton() instead.
./media/system/js/core-uncompressed.js:	window.submitbutton = function ( pressbutton ) {
./media/system/js/core-uncompressed.js:		Joomla.submitbutton( pressbutton );
[ ... ]

--> Nicht ganz korrekt Hier wird lediglich submit (mittels JavaScript Funktion) aufgerufen.

Das Formular ist:

<source lang="html5">


Überlegungen/Versuche:

Die Eingabe der Kurzbeschreibung und die Eingabe der Custom Fields erfolgt über dasselbe Formular. Daher ist es in der View nicht einfach so möglich die Kurzbeschreibung aus den Custom Fields zu erstellen.

Dies müsste somit nach dem Submit gemacht werden. Das Formular wird an index.php geschickt und was dann geschieht ist schwer nachvollziehbar. Irgendwann endet es wohl im Product Controller. Eine Anpassung von Controllers ist aber durch Overrrides nicht vorgesehen.

Recherche dazu:

- Google Suche "