Antwort #22 am: 16. März 2016, 14:13:58
Hier ein etwas umfangreichere Lösung:
includes/application_top.php ans Ende der Datei:
if (!xtc_session_is_registered
('customer_id')) { if (!in_array(basename($PHP_SELF), array(FILENAME_LOGIN
, FILENAME_LOGOFF
, FILENAME_PASSWORD_FORGOTTEN
, FILENAME_CONTACT_US
, FILENAME_SITEMAP
, FILENAME_CREATE_ACCOUNT
, FILENAME_CREATE_ACCOUNT_SUCCESS
, FILENAME_PASSWORD_DOUBLE_OPT
, FILENAME_DISPLAY_VVCODES
, FILENAME_CONTENT
))) { xtc_redirect
(xtc_href_link
(FILENAME_LOGIN
, '', 'SSL')); }} elseif ($_SESSION['customers_status']['customers_status_id'] == 4) { if (!in_array(basename($PHP_SELF), array(FILENAME_WAITING
, FILENAME_LOGOFF
))) { xtc_redirect
(xtc_href_link
(FILENAME_WAITING
, '', 'SSL')); }} In der Administration eine weitere Kundengruppe anlegen. Diese sollte die ID 4 bekommen - bei mir habe ich diese wartend genannt. In dieser alle möglichen Optionen auf nein stellen.
Im nächsten Schritt unter Konfiguration -> Mein Shop den Punkt "Kundenstatus für Neukunden" auf wartend setzen. Erstellt also jemand ein Kundenkonto erhält er diese Kundengruppe.
Dann folgende Dateien Anlegen:
/waiting.php
Inhalt - quick and dirty:
<?php/* -----------------------------------------------------------------------------------------
$Id: waiting.php 1143 2016-03-16 14:00:43Z zazu $
XT-Commerce - community made shopping
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(login.php,v 1.79 2003/05/19); www.oscommerce.com
(c) 2003 nextcommerce (login.php,v 1.13 2003/08/17); www.nextcommerce.org
Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contribution:
guest account idea by Ingo T. <xIngox@web.de>
---------------------------------------------------------------------------------------*/include ('includes/application_top.php');// create smarty elements$smarty = new Smarty
;// include boxesrequire (DIR_FS_CATALOG
.'templates/'.CURRENT_TEMPLATE
.'/source/boxes.php');// include needed functionsrequire_once (DIR_FS_INC
.'xtc_array_to_string.inc.php');// redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started)if ($session_started == false) { xtc_redirect
(xtc_href_link
(FILENAME_COOKIE_USAGE
));}$info_message = false; //DokuMan - 2010-02-28 - set undefined variable$breadcrumb->add(NAVBAR_TITLE_WAITING
, xtc_href_link
(FILENAME_WAITING
, '', 'SSL'));require (DIR_WS_INCLUDES
.'header.php');$smarty->assign('language', $_SESSION['language']);$smarty->caching = 0;$main_content = $smarty->fetch(CURRENT_TEMPLATE
.'/module/waiting.html');$smarty->assign('main_content', $main_content);$smarty->assign('language', $_SESSION['language']);$smarty->caching = 0;if (!defined(RM
)) $smarty->load_filter('output', 'note');$smarty->display(CURRENT_TEMPLATE
.'/index.html');include ('includes/application_bottom.php');?> nächste Datei: /templates/[name der Templates]/module/waiting.html
{config_load
file="$language/lang_$language.conf" section
="waiting"}<div style
="margin: 10px auto; width: 600px;"> <div
class="highlightbox"> {#text_waiting#}
</div
></div
> Zu Letzt noch in die /lang/german/lang_german.conf (eventuell auch in andere Sprachen) folgendes am Ende der Datei einfügen:
#waiting
[waiting]
text_waiting = Hier kommt ein Hinweistext rein
Über die $smarty.session.customers_status.customers_status_id lässt sich dann innerhalb des Templates variieren, welche Elemente in der index.html nicht angezeigt werden sollen. Beispielsweise ist bei mir das Menü für die ID 1 und 4 nicht sichtbar.