Probleme infolge fehlender column_left

Du hast ein Problem gefunden und weißt nicht genau wo es hinpasst...
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Probleme infolge fehlender column_left

Beitrag von Kopernikus »

Wie ein Kollege vor mir schon in einem anderen Thread beschrieben hat, stehe auch ich vor dem Problem, dass ich ein Modul einbauen möchte welches eine Veränderung in der admin/column_left.php erfordert. Da es diese Datei nicht mehr gibt, stehe ich nun vor dem grossen Problem, dass ich nicht weiss wo ich den Code einbauen muss. Konkret handelt es sich um ein Ampelmodul, welches nebst dem Warenbestand auch die Lieferzeit dynamisch reguliert (Beispiel Lagerampel rot = Textausgabe: Lieferzeit ca. 5-10 Tage)

Wie gesagt habe ich genau ein solches Modul gefunden und sollte nun in der column_left.php folgende Veränderungen ausführen:

Code: Alles auswählen

Suchen nach:

if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['categories'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_CATEGORIES, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_CATEGORIES . '</a><br>';

In der darauffolgenden Zeile das hier einfügen:

if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['ampelsystem'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_AMPELSYSTEM, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_AMPELSYSTEM . '</a><br>';
Nun habe ich gelesen, dass die column_left.php in die header.php verschoben wurde. Doch dort finde ich keine entsprechenden Datenbankanweisungen. Wie müsste ich denn den obigen Code genau umschreiben? Könnt Ihr mir da einen Tipp geben?

Herzlichen Dank im Voraus :)
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Probleme infolge fehlender column_left

Beitrag von Xantiva »

Du findest aber so etwas:

Code: Alles auswählen

    BOX_CATEGORIES => array('acl' => 'categories',
                            'link' => FILENAME_CATEGORIES,
                            'icon' => 'icon_produkt.png'),
Dann würde das bei Dir so etwas entsprechen:

Code: Alles auswählen

    BOX_AMPELSYSTEM => array('acl' => 'ampelsystem',
                            'link' => FILENAME_AMPELSYSTEM,
                            'icon' => 'icon_produkt.png'),
Wobei in Deiner Lösung keine Grafik vorkommt und hier dann einfach das Produkt Icon angezeigt würde ...

(Wie fanden unsere Lösung etwas "übersichtlicher" ;) )

Ciao,
Mike
Mein Shop: http://www.basteln-selbermachen.de
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme infolge fehlender column_left

Beitrag von Kopernikus »

Super, herzlichen Dank :D

Ich konnte nun alle entsprechenden Codes einbauen, erhalte aber noch folgenden SQL Fehler:

Code: Alles auswählen

[WEB-Shop SQL Error]

/home/httpd/vhosts/mein-shop.ch/httpdocs/webs14/includes/classes/product.php:551
    1146 - Table 'xtc2.ampel_config' doesn't exist
    SELECT * FROM ampel_config
Folgendes habe ich in die products.php eingebaut:

Code: Alles auswählen

$ampel_config_query = xtDBquery('SELECT * FROM ' . TABLE_AMPEL_CONFIG);
			$ampel_config = xtc_db_fetch_array($ampel_config_query);
			
			$stime_ampel = $array['products_shippingtime'];

			if ($stime_ampel == $ampel_config['ampel_green'])
				$ampel = '<img src="templates/'.CURRENT_TEMPLATE.'/img/ampel_gruen.gif" alt="'.AMPEL_GRUEN.'" />';
			else if ($stime_ampel == $ampel_config['ampel_yellow'])
				$ampel = '<img src="templates/'.CURRENT_TEMPLATE.'/img/ampel_gelb.gif" alt="'.AMPEL_GELB.'" />';
			else
				$ampel = '<img src="templates/'.CURRENT_TEMPLATE.'/img/ampel_rot.gif" alt="'.AMPEL_ROT.'" />';
Du hast nicht per Zufall eine Ahnung, wo der Fehler liegen könnte?
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Probleme infolge fehlender column_left

Beitrag von Rainer »

Hallo,

die angefragte Tabelle in der DB existiert?

Wenn Du das ganze fertig hast würde mich die Lösung auch interessieren. Danke.
Freundlich grüßt

Rainer
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme infolge fehlender column_left

Beitrag von Kopernikus »

Hallo Rainer

Ja, die Tabelle wurde erstellt. Die gesamten Änderungen in der products.php lauten wie folgt:

Code: Alles auswählen

Suche nach:

function buildDataArray(&$array,$image='thumbnail')

In der Funktion danach suchen:

$shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']);
			$shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
			
Und in der darauffolgenden Zeile folgendes einfügen:

//--- Ampel
			$ampel_config_query = xtDBquery('SELECT * FROM ' . TABLE_AMPEL_CONFIG);
			$ampel_config = xtc_db_fetch_array($ampel_config_query);
			
			$stime_ampel = $array['products_shippingtime'];

			if ($stime_ampel == $ampel_config['ampel_green'])
				$ampel = '<img src="templates/'.CURRENT_TEMPLATE.'/img/ampel_gruen.gif" alt="'.AMPEL_GRUEN.'" />';
			else if ($stime_ampel == $ampel_config['ampel_yellow'])
				$ampel = '<img src="templates/'.CURRENT_TEMPLATE.'/img/ampel_gelb.gif" alt="'.AMPEL_GELB.'" />';
			else
				$ampel = '<img src="templates/'.CURRENT_TEMPLATE.'/img/ampel_rot.gif" alt="'.AMPEL_ROT.'" />';
			//--- Ampel EOF
			
In der selben Funktion nach der Zeile suchen:

'PRODUCTS_ID'=>$array['products_id'],

In der nächsten Zeile folgendes einfügen:

'PRODUCTS_AMPEL' => $ampel,
'AMPEL_ACTIVE' => $ampel_config['ampel_active'],
'SHOW_PROD_QUANT_TEXT' => $ampel_config['show_prod_quant'],
'PROD_QUANT' => $array['products_quantity'],
und die DB wird wie folgt angelegt:

Code: Alles auswählen

DROP TABLE IF EXISTS `ampel_config`;
CREATE TABLE IF NOT EXISTS `ampel_config` (
  `ampel_active` tinyint(1) NOT NULL,
  `show_prod_quant` tinyint(1) NOT NULL,
  `ampel_yellow` smallint(4) NOT NULL,
  `ampel_green` tinyint(2) NOT NULL
) TYPE=MyISAM;

INSERT INTO `ampel_config` (`ampel_active`, `show_prod_quant`, `ampel_yellow`, `ampel_green`) VALUES (1, 1, 2, 1);
ALTER TABLE `admin_access` ADD `ampelsystem` INT( 1 ) NOT NULL ;
UPDATE `admin_access` SET `ampelsystem` = '1' WHERE customers_id = '1' ;
Sobald das Modul bei mir funktioniert, werde ich eine Anleitung zum Einbau in die Webs schreiben und es hier publizieren :)
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme infolge fehlender column_left

Beitrag von Kopernikus »

Rainer hat geschrieben:Hallo,

die angefragte Tabelle in der DB existiert?

Wenn Du das ganze fertig hast würde mich die Lösung auch interessieren. Danke.
Gemäss Fehlermeldung (Zeile 551) muss hier der Fehler liegen:

Code: Alles auswählen

$ampel_config_query = xtDBquery('SELECT * FROM ' . TABLE_AMPEL_CONFIG);
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme infolge fehlender column_left

Beitrag von Kopernikus »

Oh je, bin ich doof! Der Fehler wurde mir ja klar angezeigt. Ich habe mich noch gewundert, was der Anhang xtc2 soll. Aber das ist meine DB wie sie nach der Migration heisst. Ich habe den SQL Befehl in eine falsche DB integriert. So nun wird wenigstens der Shop wieder geladen. Nun kommt aber eine neue Fehlermeldung, die ich mir aber zunächst in Ruhe ansehen muss. Wie gesagt, wenn alles klappt, dann halte ich mein Versprechen und publiziere hier die Anleitung zum Einbau.
Kopernikus
Beiträge: 390
Registriert: Fr 19. Okt 2012, 12:15

Re: Probleme infolge fehlender column_left

Beitrag von Kopernikus »

@Rainer

Also: Ich habe das Modul nun zum Laufen gebracht. Leider ist es aber nicht das, für was ich es gehalten habe. Um es nochmals kurz zu formulieren was ich gesucht habe.

Ich suche eine Lagerampel für Produkte und Atributte welche einerseits den Bestand über Grafiken ausspuckt und dabei gleichzeitig die Lieferzeit dynamisch anpasst.

Beispiel:

10 Stück an Lager = Ampel grün + Text: Sofort Lieferbar
0 Stück an Lager = Ampel rot + Text Lieferzeit ca. 7 Tage

Vielleicht weiss hier jemand wie man dies relativ einfach umsetzen könnte. Ich werde das Modul wieder ausbauen, da es für mich keinen Sinn macht.

Gibt es für eine solche Ampel möglicherweise bereits eine Lösung?
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Probleme infolge fehlender column_left

Beitrag von Rainer »

Hallo,

also wenn ich mir die Beschreibung im Wiki http://wiki.webs.de/index.php/Modul:Lagerampel anschaue, müsste doch glaube ich nur noch der Text der Lieferezeit in der Bedingung ergänzt werden damit er aktuelle Wert überschrieben wird.
Freundlich grüßt

Rainer
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Probleme infolge fehlender column_left

Beitrag von Xantiva »

Hast Du Dir mal im Webs - Template den Smarty modifier.getStockImage.php angesehen?

Da muss noch der Pfad zu den Grafiken angepasst werden, aber ...

Wobei man noch beachten muss, an welchen Stellen überall die Lieferzeit angezeigt wird.
Mein Shop: http://www.basteln-selbermachen.de
Antworten