ECB: Counter im Shop einbauen

Du hast ein PHP-Code Problem und benötigst Hilfe bei der Lösung
Barny_Gumble
Beiträge: 47
Registriert: Mi 12. Mai 2010, 19:51

ECB: Counter im Shop einbauen

Beitrag von Barny_Gumble »

Hallo,

ich möchte gerne einen Counter im Shop einbauen.
Er soll unterhalb der "Suchen-Leiste" und nur auf der index.php erscheinen.
Den passenden counter habe ich bereits.
Nur wie baue ich ihn an der richtigen stelle ein?
Ich habe den ECB-Shop V. 1.0.6 mit dem Yaml-Template.
Die Datei die eingebunden werden muss heisst counter.php und liegt in einem Unterordner vom Shop.

Hier mal der quelltext der index.php vom Shop:

Code: Alles auswählen

<?php

/* -----------------------------------------------------------------------------------------
$Id: index.php 1016 2009-11-19 22:50:47Z DocOlson $

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
(c) 2002-2003 osCommerce(default.php,v 1.84 2003/05/07); www.oscommerce.com
(c) 2003	 nextcommerce (default.php,v 1.13 2003/08/17); www.nextcommerce.org

Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contributions:
Enable_Disable_Categories 1.3        	Autor: Mikel Williams | mikel@ladykatcostumes.com
Customers Status v3.x  (c) 2002-2003 Copyright Elari elari@free.fr | www.unlockgsm.com/dload-osc/ | CVS : http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/elari/?sortby=date#dirlist

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/
include ('includes/application_top.php');

// create smarty elements

$smarty = new Smarty;

// include boxes
require(DIR_FS_CATALOG . 'templates/' . CURRENT_TEMPLATE . '/source/boxes.php');

// the following cPath references come from application_top.php
$category_depth = 'top';

if ( isset($cPath) && xtc_not_null($cPath) ) {

	$sql = "SELECT count(*) AS total
		 	FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc
		 	INNER JOIN " . TABLE_PRODUCTS . " p
		 	ON p.products_id = ptc.products_id
		 	WHERE ptc.categories_id = '" . $current_category_id . "'
		 	AND p.products_status = 1";

	$res = xtDBquery($sql);
	$cateqories_products = xtc_db_fetch_array($res, true);

	if ( $cateqories_products['total'] > 0 ) {
		$category_depth = 'products'; // display products
	} else {

		$sql = "SELECT count(*) AS total
				FROM " . TABLE_CATEGORIES . "
				WHERE parent_id = '" . $current_category_id . "'
				AND categories_status = 1";

		$res = xtDBquery($sql);

		$category_parent = xtc_db_fetch_array($res, true);

		if ( $category_parent['total'] > 0 ) {
			$category_depth = 'nested'; // navigate through the categories
		} else {
			$category_depth = 'products'; // category has no products, but display the 'no products' message
		}
	}
}

require(DIR_WS_INCLUDES . 'header.php');
include(DIR_WS_MODULES . 'default.php');
$smarty -> assign('language', $_SESSION['language']);
$smarty -> caching = 0;

if ( !defined(RM) ) {
	$smarty -> load_filter('output', 'note');
}

$smarty -> load_filter('output', 'trimwhitespace');

$smarty -> display(CURRENT_TEMPLATE . '/index.html');
include('includes/application_bottom.php');
Und hier die index.html vom Yaml-Template:

Code: Alles auswählen

{config_load file="$language/lang_$language.conf" section="index"}
<div id="page_margins">
	<div id="page">

	<div id="header">
		<div id="topnav">
		{* start: skip link navigation *}
		<a class="skip" href="#navigation" title="Direkt zur Navigation springen">Zur Navigation springen</a><span class="hideme">.</span>
		<a class="skip" href="#content" title="Direkt zum Inhalt springen">Zum Inhalt springen</a><span class="hideme">.</span>
		{* end: skip link navigation *}
		</div>
		<a href="{href_link page=$smarty.const.FILENAME_DEFAULT}"><img src="{$tpl_path}img/yaml-title-xtc.jpg" alt="{$store_name}" id="companyLogo" /></a>
	</div>

	{* begin: main navigation #nav *}
	<div id="nav">
		<a id="navigation" name="navigation"></a>
		{php}
			// Current Link Hack - by Reinhard Hiebl
			$cur_link = explode('/', $_SERVER['PHP_SELF']);
			$cur_link = array_pop($cur_link);
			if (strpos($cur_link, '?') === true ) {
				$pos = strpos($cur_link, '?', 1);
				if ($pos) {
					$cur_link = substr($cur_link, 0, $pos);
				}
			}
		{/php}
		<div id="nav_main">
			<ul>
				<li{php} echo $current = $cur_link=='http://www.d-r-computer-tech.de/index.php' ? ' id="current"' : ''; {/php}><a href="http://www.d-r-computer-tech.de/index.php"><span>{#link_home#}</span></a></li>
				{if $account}
				{php} if (isset($_SESSION['customer_id'])) { {/php}
				<li{php} echo $current = $cur_link=='logoff.php' ? ' id="current"' : ''; {/php}><a href="{$logoff}"><span>{#link_logoff#}</span></a></li>
				{php} } {/php}
				{/if}
				{if $account}
				<li{php} echo $current = $cur_link=='account.php' ? ' id="current"' : ''; {/php}><a href="{$account}"><span>{#link_account#}</span></a></li>
				{/if}
				<li{php} echo $current = $cur_link=='shopping_cart.php' ? ' id="current"' : ''; {/php}><a href="{$cart}"><span>{#link_cart#}</span></a></li>
				<li{php} echo $current = $cur_link=='checkout_shipping.php' ? ' id="current"' : ''; {/php}><a href="{$checkout}"><span>{#link_checkout#}</span></a></li>
				
				</ul>
		</div>
	</div>
	{* end: main navigation *}

	{* begin: content area #main *}
	<div id="main">
		<div id="teaser" class="clearfix">
		{$navtrail}
		</div>

		{* begin: #col1 - first float column *}
		<div id="col1">
			<div id="col1_content" class="clearfix">
				{$box_CATEGORIES}
				{$box_ADD_QUICKIE}
				{$box_CONTENT}
				{$box_INFORMATION}
				{$box_LAST_VIEWED}
				{$box_REVIEWS}
				{$box_SEARCH}
				{$box_SPECIALS}
			</div>
		</div>
		{* end: #col1 *}

		{* begin: #col2 second float column *}
		<div id="col2">
			<div id="col2_content" class="clearfix">
				{$box_CART}
				{$box_LOGIN}
				{$box_ADMIN}
				{$box_LIVE_SHOPPING}
				{$box_NEWSLETTER}
				{$box_BESTSELLERS}
				{$box_WHATSNEW}
				{$box_INFOBOX}
				{$box_CURRENCIES}
				{$box_LANGUAGES}
				{$box_MANUFACTURERS_INFO}
				{$box_MANUFACTURERS}
			</div>
		</div>
		{* end: #col2 *}

		{* begin: #col3 static column *}
		<div id="col3">
			<div id="col3_content" class="clearfix">
				{* skip anchor: content *}
				<a id="content" name="content"></a>
				{$main_content}
			</div>
			{* IE column clearing *}
			<div id="ie_clearing">&nbsp;</div>
		</div>
		{* end: #col3 *}

	</div>
	{* end: #main *}

	{* begin: #footer *}
	<div id="footer">
		Based on <a href="http://www.yaml.de" target="_blank">YAML</a> | &copy; 2010 by D-R Computer-Tech - All rights reserved - Design by D. N.<a  </a> ( <a href="http://www.zs-ecommerce.com/" target="_blank">xt:Commerce Template by www.zs-eCommerce.com</a> )
	</div>
	{* end: #footer *}
	</div>
</div>
Über Hilfe wäre ich Euch sehr dankbar! :)
Vielen Dank.

LG
Barny
yogi
Administrator
Beiträge: 292
Registriert: Do 6. Mai 2010, 14:16
Shop Version: die aktuelle
Wohnort: Köln
Kontaktdaten:

Re: ECB: Counter im Shop einbauen

Beitrag von yogi »

Hi Barny,

ich würde aus dem counter.php eine Smarty Funktion erstellen und diese dann an entsprechender Stelle im Template einbinden.

Das Smarty-Plugin speicherst Du in deinem Template im Verzeichnis "/smarty"

Hierdurch bleibt der Core vom Shop unberühert und ohne Aufwand updatefähig.
Barny_Gumble
Beiträge: 47
Registriert: Mi 12. Mai 2010, 19:51

Re: ECB: Counter im Shop einbauen

Beitrag von Barny_Gumble »

Ich verstehe nicht ganz wie ich diese Smarty-Funktion erstellen soll...

Der Counter besteht aus 2 php-Dateien (darunter counter.php), 3 txt-Dateien und natürlich den 10 Zahlen.
Es sind 2 Beispiele genannt...ein mal mit und ein mal ohne Ausgabe...
Wie mache ich das denn dann genau und unter welchen Namen speichere ich das ganze ab und in welchem Format?
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: ECB: Counter im Shop einbauen

Beitrag von Xantiva »

Hi Barny,

zunächst meine ganz persönliche Meinung: Ein Counter hat in einem Online Shop nichts verloren!

Dann zum Problem:
Was willst Du denn überhaupt zählen?
Die index.php wird ja gar nicht immer aufgerufen. Bei den Produktseite wird die product_info.php verwendet. Dagegen zählt der Shop sowieso schon wie oft z. B. eine Produktseite angezeigt wird.

Wenn Du für Dich eine Statistik über die Besucherzugriffe benötigst, dann solltest Du Dir z. B. einmal Piwik oder Google Analytics (Datenschutzhinweis nicht vergessen!) ansehen. Die liefern Dir (und nur Dir!) deutlich mehr Informationen als ein "Counter".

Ciao,
Mike
Mein Shop: http://www.basteln-selbermachen.de
Barny_Gumble
Beiträge: 47
Registriert: Mi 12. Mai 2010, 19:51

Re: ECB: Counter im Shop einbauen

Beitrag von Barny_Gumble »

Und wie funktioniert das mit Piwik?
Hab gesehen, dass es bei Statistiken die Option Piwik gibt...
Was muss ich denn da eintragen?
Und was mache ich mit der runtergeladenen Piwik-Datei nachdem ich sie entpackt habe?
Doc Olson
Beiträge: 536
Registriert: Mo 10. Mai 2010, 08:54

Re: ECB: Counter im Shop einbauen

Beitrag von Doc Olson »

Barny_Gumble hat geschrieben:Und wie funktioniert das mit Piwik?
Hab gesehen, dass es bei Statistiken die Option Piwik gibt...
Was muss ich denn da eintragen?
Und was mache ich mit der runtergeladenen Piwik-Datei nachdem ich sie entpackt habe?
Barny: lass es sein. LASS Dir den Shop bauen/einrichten. Du fährst auf die Autobahn und rufst dann jemanden an, um zu fragen, was denn unter einem "zweiten Gang" zu verstehen ist. Sorry, wir werden Dir hier nicht alles vorkauen, so geht das nicht. Wir leisten allgemeinen Shop-Support. Für Piwik, mach Dich bei piwik.org schlau. Das ist aber noch viel simpler als der Shop.
Barny_Gumble
Beiträge: 47
Registriert: Mi 12. Mai 2010, 19:51

Re: ECB: Counter im Shop einbauen

Beitrag von Barny_Gumble »

Wer hat Dich denn gefragt Olson Brother????
Barny_Gumble
Beiträge: 47
Registriert: Mi 12. Mai 2010, 19:51

Re: ECB: Counter im Shop einbauen

Beitrag von Barny_Gumble »

Außerdem habe ich meinen Shop seit über einer Woche fertig!!!!
Ich brauche niemanden zu bezahlen, der mir den einrichtet.....schaffe ich auch selber!!!!
fsck
Beiträge: 4
Registriert: Di 11. Mai 2010, 16:19
Shop Version: WEBS 1.09

Re: ECB: Counter im Shop einbauen

Beitrag von fsck »

Du plenkst.
Eine Aussage wird nicht durch die Anzahl der angehängten Satzzeichen besser/wichtiger.

Und mal unter uns alten Kegelschwestern: Wer ernsthaft über den Einbau eines Counters nachdenkt in einem produktiven Shop hat weder das Thema Usability noch die Grundsätze des e-Commerce verstanden. Das Ding wird nicht besser, wenn es mit allem was der Modulmarkt so hergibt "getunt" wird. Weniger ist mehr.

Von den Grundsätzen des normalen "Miteinander" hast Du scheinbar auch noch nix gehört. Hier sind etliche Leute die Dir bereits geholfen haben und sehr sinnvolle Tipps gegeben haben. Die werden von Dir aber teilweise schlicht ignoriert. Vielmehr greifst Du die Leute noch an. Glanzleistung.
Wenn Dein Shop doch bereits fertig ist wie Du schreibst, dann verstehe ich nicht warum Du das Ding dann immer noch "umbaust".

...just my 2 cents...
Hexe Lili
Beiträge: 9
Registriert: Mo 17. Mai 2010, 11:10
Shop Version: xtc 3.04+ div. Module

Re: ECB: Counter im Shop einbauen

Beitrag von Hexe Lili »

Ich verfolge ja hier nur die threads, weil andere sich einfach besser auskennen als ich und somit auch besser helfen können. Aber bei Barny schwanke ich immer noch zwischen:
beratungsresistent <-> will hier die geduld der user testen <-> will nur provozieren <-> veralbert hier alle

Es gab wohl keine Frage bisher, die nicht schon hunderte Male in allen möglichen Foren beantwortet wurde. Mit Hilfe der google Suche wäre man da leicht fündig geworden. Das weiss ich, weil ich damals als Anfänger auh oft Fragen/Probleme hatte und fast immer in wenigen Minuten über google die Antwort auf meine Fragen gefunden hatte. Ich habe auf jeden Fall damals das Handbuch und google zuerst zu Rate gezogen, bevor ich mich getraut habe, irgendwo was zu fragen.
Barny, strapaziere die Geduld der Helfenden nicht unnötig, das kann ich Dir nur raten.
Viele Grüße
Lili
Antworten