diff --git a/phpwf/plugins/class.yui.php b/phpwf/plugins/class.yui.php
index d78eb336..c2d2398e 100644
--- a/phpwf/plugins/class.yui.php
+++ b/phpwf/plugins/class.yui.php
@@ -1921,8 +1921,17 @@ class YUI {
}
}
-
$this->app->erp->RunHook('AARLGPositionenSprache', 6, $module, $id, $artikel_id, $sprache, $bezeichnung, $beschreibung);
+
+ // OpenXE artikel_texte
+ $language = $this->app->erp->GetSpracheBeleg($module,$id);
+ $sql = "SELECT * FROM artikel_texte WHERE artikel = '".$artikel_id."' AND sprache = '".$language."'";
+ $uebersetzung = $this->app->DB->SelectRow($sql);
+ if ($uebersetzung) {
+ $bezeichnung = $uebersetzung['name'];
+ $beschreibung = $uebersetzung['beschreibung'];
+ }
+
$bezeichnung = $this->app->DB->real_escape_string($bezeichnung);
$beschreibung = $this->app->DB->real_escape_string($beschreibung);
diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php
index b855b0f3..9ec83a60 100644
--- a/www/lib/class.erpapi.php
+++ b/www/lib/class.erpapi.php
@@ -31396,15 +31396,15 @@ function Firmendaten($field,$projekt="")
$variante_von = $this->app->DB->Select("SELECT variante_von FROM artikel WHERE id = '$artikel' LIMIT 1");
if($variante_von)$beschreibung = $this->app->DB->real_escape_string($this->app->DB->Select("SELECT anabregs_text FROM artikel WHERE id='$variante_von' LIMIT 1"));
}
- if($this->ModulVorhanden('artikel_texte')){
- if(array_key_exists($belegsprache,$adresssprachen)){
+
+ if(array_key_exists($belegsprache,$adresssprachen)){
$belegsprache = $adresssprachen[$belegsprache];
- }
- $artikelbeschreibung = $this->app->DB->Select("SELECT beschreibung FROM artikel_texte WHERE artikel=$artikel AND sprache='$belegsprache'");
- if($artikelbeschreibung){
- $beschreibung = $artikelbeschreibung;
- }
}
+ $artikelbeschreibung = $this->app->DB->Select("SELECT beschreibung FROM artikel_texte WHERE artikel=$artikel AND sprache='$belegsprache'");
+ if($artikelbeschreibung){
+ $beschreibung = $artikelbeschreibung;
+ }
+
}
//$vpe = $this->app->DB->Select("SELECT vpe FROM verkaufspreise WHERE id='$verkauf' LIMIT 1");
$sort = $this->app->DB->Select("SELECT MAX(sort) FROM ".$typ."_position WHERE $typ='$id' LIMIT 1");
@@ -31419,20 +31419,19 @@ function Firmendaten($field,$projekt="")
if($this->app->DB->Select("SELECT adr.id FROM auftrag auf INNER JOIN adresse adr ON auf.adresse = adr.id AND adr.sprache = 'englisch' WHERE auf.id = '$id' LIMIT 1"))
$name = $this->app->DB->Select("SELECT name_en FROM artikel WHERE id = '$artikel'");
if($name === '')$name = $this->app->DB->Select("SELECT name_de FROM artikel WHERE id = '$artikel'");
- if($this->ModulVorhanden('artikel_texte')){
- if(array_key_exists($belegsprache,$adresssprachen)){
+
+ if(array_key_exists($belegsprache,$adresssprachen)){
$belegsprache = $adresssprachen[$belegsprache];
- }
- $artikelbezeichnung = $this->app->DB->Select(
+ }
+ $artikelbezeichnung = $this->app->DB->Select(
"SELECT name
FROM artikel_texte
WHERE artikel=$artikel AND sprache='$belegsprache'
ORDER BY name <> '' DESC
LIMIT 1"
- );
- if($artikelbezeichnung){
+ );
+ if($artikelbezeichnung){
$name = $artikelbezeichnung;
- }
}
}
diff --git a/www/lib/class.remote.php b/www/lib/class.remote.php
index 0eb67ede..3880b024 100644
--- a/www/lib/class.remote.php
+++ b/www/lib/class.remote.php
@@ -1177,11 +1177,7 @@ class Remote
}
$shopexportarr = $this->app->DB->SelectRow("SELECT * FROM shopexport WHERE id='$id' LIMIT 1");
$artikelexport = $shopexportarr['artikelexport'];
- $translationpossible = false;
- if($this->app->erp->ModulVorhanden('artikel_texte'))
- {
- $translationpossible = true;
- }
+
$loadElements = [
'foreign_numbers' => true,
'article_descriptions' => true,
@@ -1811,7 +1807,7 @@ class Remote
foreach ($db->yieldAll($query) as $matrixdaten) {
$data[$i]['matrix_varianten']['gruppen'][$matrixdaten['gruppe']][$matrixdaten['wert']] = true;
- if ($translationpossible && !empty($loadElements['translations'])) {
+ if (!empty($loadElements['translations'])) {
if (empty($gruppenuebersetzung[$matrixdaten['gruppe']])) {
$gruppennamen = $this->app->DB->SelectArr("SELECT
IF(name_external_from<>'',name_external_from,name_from) AS name_from,
@@ -2092,17 +2088,16 @@ class Remote
$variantennettopreis = $this->app->erp->GetVerkaufspreis($v['id'], 1, 0);
}
}
- if(!empty($loadElements['translations']) && $this->app->erp->ModulVorhanden('artikel_texte')){
- $sprachen = ['de','en'];
- foreach ($sprachen as $sprache){
+ $sprachen = ['de','en'];
+ foreach ($sprachen as $sprache){
$query = sprintf("SELECT * FROM artikel_texte WHERE shop=%d AND sprache='%s' AND artikel=%d AND aktiv=1 LIMIT 1",
- $id,strtoupper($sprache),$v['id']);
+ $id,strtoupper($sprache),$v['id']);
$ersetzeStandardbeschreibung = $this->app->DB->SelectRow($query);
- if(!empty($ersetzeStandardbeschreibung)){
- $v['name_'.$sprache] = $ersetzeStandardbeschreibung['name'];
+ if(!empty($ersetzeStandardbeschreibung)) {
+ $v['name_'.$sprache] = $ersetzeStandardbeschreibung['name'];
}
- }
}
+
$this->app->erp->RunHook('remote_send_article_list_pseudostorage', 3, $id, $v['id'], $v['pseudolager']);
if(is_numeric($v['pseudolager']) && $v['pseudolager'] < 0) {
$v['pseudolager'] = 0;
diff --git a/www/pages/artikel.php b/www/pages/artikel.php
index 34af81c7..4412e536 100644
--- a/www/pages/artikel.php
+++ b/www/pages/artikel.php
@@ -7333,6 +7333,10 @@ class Artikel extends GenArtikel {
$this->app->erp->MenuEintrag('index.php?module=artikel&action=eigenschaften&id='.$id, 'Eigenschaften');
}
+ $this->app->erp->MenuEintrag("index.php?module=artikeltexte&action=list&artikel=$id",'Übersetzung');
+
+ $this->app->erp->MenuEintrag("index.php?module=artikel&action=baum&id=$id",'Artikelbaum');
+
if($rabatt!='1'){
$this->app->erp->MenuEintrag("index.php?module=artikel&action=einkauf&id=$id",'Einkauf');
if($this->app->erp->RechteVorhanden('einkaufabgleich','einkaufapi'))
@@ -7393,7 +7397,7 @@ class Artikel extends GenArtikel {
}
$this->app->erp->MenuEintrag('index.php?module=artikel&action=list','Zurück zur Übersicht');
- $this->app->erp->InsertMenuAfter("index.php?module=artikel&action=baum&id=$id",'Artikelbaum','artikel','eigenschaften');
+
}
}
$this->app->erp->MenuEintrag('index.php?module=artikel&action=create','Neuen Artikel anlegen');
diff --git a/www/pages/artikeltexte.php b/www/pages/artikeltexte.php
new file mode 100644
index 00000000..adc4f311
--- /dev/null
+++ b/www/pages/artikeltexte.php
@@ -0,0 +1,270 @@
+app = $app;
+ if ($intern)
+ return;
+
+ $this->app->ActionHandlerInit($this);
+ $this->app->ActionHandler("list", "artikel_texte_list");
+ $this->app->ActionHandler("create", "artikel_texte_edit"); // This automatically adds a "New" button
+ $this->app->ActionHandler("edit", "artikel_texte_edit");
+ $this->app->ActionHandler("delete", "artikel_texte_delete");
+ $this->app->DefaultActionHandler("list");
+ $this->app->ActionHandlerListen($app);
+ }
+
+ public function Install() {
+ /* Fill out manually later */
+ }
+
+ static function TableSearch(&$app, $name, $erlaubtevars) {
+ switch ($name) {
+ case "artikel_texte_list":
+ $allowed['artikel_texte_list'] = array('list');
+ $heading = array('','','Nummer','Artikel','Sprache', 'Name', 'Kurztext', 'Beschreibung', 'Beschreibung_online', 'Meta title', 'Meta description', 'Meta keywords', 'Katalogartikel', 'Katalogbezeichnung', 'Katalogtext', 'Shop', 'Aktiv', 'Menü');
+ $width = array('1%','1%','1%'); // Fill out manually later
+
+ $artikel = $app->User->GetParameter('artikeltexte_artikel');
+
+ // columns that are aligned right (numbers etc)
+ // $alignright = array(4,5,6,7,8);
+
+ $findcols = array('a.id','a.id','art.nummer', 'art.name_de', 'a.sprache', 'a.name', 'a.kurztext', 'a.beschreibung', 'a.beschreibung_online', 'a.meta_title', 'a.meta_description', 'a.meta_keywords', 'a.katalogartikel', 'a.katalog_bezeichnung', 'a.katalog_text', 'a.shop', 'a.aktiv');
+ $searchsql = array('a.artikel', 'a.sprache', 'a.name', 'a.kurztext', 'a.beschreibung', 'a.beschreibung_online', 'a.meta_title', 'a.meta_description', 'a.meta_keywords', 'a.katalogartikel', 'a.katalog_bezeichnung', 'a.katalog_text', 'a.shop', 'a.aktiv');
+
+ $defaultorder = 1;
+ $defaultorderdesc = 0;
+ $aligncenter = array();
+ $alignright = array();
+ $numbercols = array();
+ $sumcol = array();
+
+ $dropnbox = "'' AS `open`, CONCAT('') AS `auswahl`";
+
+// $moreinfo = true; // Allow drop down details
+// $moreinfoaction = "lieferschein"; // specify suffix for minidetail-URL to allow different minidetails
+// $mencol = 11; // Set id col for moredata/menu
+
+ $menu = "
" . " |