Hallo zusammen,
leider komme ich mal wieder nicht weiter.
Nach dem Upgrade von V. 2.12.1. auf V. 2.13.3. r166 und vorangegangenen Wechsel auf PHP 8.1 erscheint im Frontend die Fehlermeldung:
ES GAB EINE NICHT ABGEFANGENE AUSNAHME, UNDEFINIERTE KONSTANTE "SHOW_MENU2"
IN ZEILE (132) VON (/TEMPLATES/TCV/INDEX.PHP)
Der Aufruf in Zeile 131 lautet:
<?php
if(SHOW_MENU2) {
show_menu2(0, SM2_ROOT, SM2_START);
}
?>
Ich habe irgendwo gelesen, dass die Installation des Addons " Show_menu2 V.4.10.2" das Problem lösen soll. Das habe ich dann auch gemacht, aber leider ohne Erfolg.
Kann mir da jemand weiterhelfen?
LG
Rainer
Ich rate nur ins blaue, da ich "nur Anwender" bin.
Aber die Fehlermeldung spricht von einer "UNDEFINIERTE KONSTANTE "SHOW_MENU2"
Hast du mal versucht das im Template wie folgt zu ändern? (Änderung rot)
Quote
<?php
if(show_menu2) {
show_menu2(0, SM2_ROOT, SM2_START);
}
?>
Vielen Dank Harald,
du meinst den Wechsel auf Kleinschreibung. Ja, gerade probiert, aber leider ändert sich nichts.
Punkt 1: das jeweils aktuellste Vollpaket hat auch immer die neuesten Versionen der mitgelieferten Module dabei, so auch beim show_menu2. Das durchgeführte Modul-Update war insofern umsonst und da es auch gleiche Versionsnummern betrifft, wurde eh nichts getan
Punkt 2: das Addon show_menu2 gehört zum Standard-Paket von WebsiteBaker. Eine Abfrage, ob diese Funktion vorhanden ist, ist also nicht nötig.
Ändere die Zeilen von
<?php
if(SHOW_MENU2) {
show_menu2(0, SM2_ROOT, SM2_START);
}
?>
in
<?php
show_menu2(0, SM2_ROOT, SM2_START);
?>
Solltest du mit diesem Template, von dem ich annehme, das es schon etwas älter ist, noch weitere Probleme haben, braucht es die komplette index.php
Ich habe nun den Aufruf mal anders geschrieben.
Und zwar: <?php show_menu2(0, SM2_root, SM2_start); ?>
Jetzt änderte sich die Fehlermeldung in Sachen SM2_root
THERE WAS AN UNCATCHED EXCEPTION
UNDEFINED CONSTANT "SM2_ROOT"
IN LINE (131) OF (/TEMPLATES/TCV/INDEX.PHP):
Die Dokumentation bezüglich Show_Menu bringt mich auch nicht weiter. Dort ist der Aufruf ja auch exakt so angegeben.
Vielen Dank Sternchen,
ja, das habe ich kurz vor deinem Beitrag schon getan. Wie erwähnt kommt nun:
UNDEFINED CONSTANT "SM2_ROOT"
Ich probiere es aber noch mal.
Und ja, Das Template ist bestimmt schon mehr als 12 Jahre alt
Hier mal die index.php
<?php
/**
* $Id: index.php 1606 2012-02-08 22:31:52Z $
* LICENSE: GNU General Public License
*
* @author Ryan Djurovich, C. Sommer
* @copyright GNU General Public License
* @license http://www.gnu.org/licenses/gpl.html
* @version 2.83
* @platform Website Baker 2.83
*
* Website Baker is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Website Baker is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
// prevent this file from being accessed directly
if (!defined('WB_PATH')) die(header('Location: ../../../index.php'));
// TEMPLATE CODE STARTS BELOW
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php
echo defined('DEFAULT_CHARSET') ? DEFAULT_CHARSET : 'utf-8'; ?>" />
<meta name="description" content="<?php page_description(); ?>" />
<meta name="keywords" content="<?php page_keywords(); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo TEMPLATE_DIR; ?>/seite.css" media="screen,projection" />
<link rel="stylesheet" type="text/css" href="<?php echo TEMPLATE_DIR; ?>/print.css" media="print" />
<title><?php page_title('', '[WEBSITE_TITLE]'); ?></title>
<?php
// automatically include optional WB module files (frontend.css, frontend.js)
if (function_exists('register_frontend_modfiles')) {
register_frontend_modfiles('css');
// register_frontend_modfiles('jquery');
register_frontend_modfiles('js');
} ?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo TEMPLATE_DIR; ?>/fadeslideshow.js">
/***********************************************
* Ultimate Fade In Slideshow v2.0- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more
***********************************************/
</script>
<script type="text/javascript">
var mygallery=new fadeSlideShow({
wrapperid: "fadeshow1", //ID of blank DIV on page to house Slideshow
dimensions: [728, 193], //width/height of gallery in pixels. Should reflect dimensions of largest image
imagearray: [
["<?php echo TEMPLATE_DIR; ?>/slider/bild1.jpg", "", "", "Tennisclub Voelkersbach"],
["<?php echo TEMPLATE_DIR; ?>/slider/bild2.jpg", "", "", "Tennisclub Voelkersbach"],
["<?php echo TEMPLATE_DIR; ?>/slider/bild3.jpg", "", "", "Tennisclub Voelkersbach"],
["<?php echo TEMPLATE_DIR; ?>/slider/bild4.jpg", "", "", "Tennisclub Voelkersbach"],
["<?php echo TEMPLATE_DIR; ?>/slider/bild5.jpg", "", "", "Tennisclub Voelkersbach"],
["<?php echo TEMPLATE_DIR; ?>/slider/bild6.jpg", "", "", "Tennisclub Voelkersbach"],
["<?php echo TEMPLATE_DIR; ?>/slider/bild7.jpg", "", "", "Tennisclub Voelkersbach"] //<--no trailing comma after very last image element!
],
displaymode: {type:'auto', pause:2200, cycles:0, wraparound:false},
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 2000, //transition duration (milliseconds)
descreveal: "ondemand",
togglerid: ""
})
</script>
</head>
<body topmargin="0" leftmargin="0" bgcolor="#FFFFFF" background="<?php echo TEMPLATE_DIR; ?>/bg.jpg">
<align="center"><img border="0" src="<?php echo TEMPLATE_DIR; ?>/leer.gif" width="35" height="17">
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1023" id="AutoNumber1">
<tr>
<td align="left" valign="top" height="295" background="<?php echo TEMPLATE_DIR; ?>/bgo.jpg">
<div align="left">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1023" id="AutoNumber2">
<tr>
<td align="left" valign="top" width="19">
<img border="0" src="<?php echo TEMPLATE_DIR; ?>/leer.gif" width="17" height="240" alt="TC-Voelkersbach"></td>
<td align="left" valign="top" width="236">
<a title="Tennisclub Voelkersbach" href="http://www.tc-voelkersbach.de">
<img border="0" src="<?php echo TEMPLATE_DIR; ?>/leer.gif" width="221" height="240"></a></td>
<td align="left" valign="top" width="760">
<div id="fadeshow1"></div>
</td>
<td align="left" valign="top" width="8"> </td>
</tr>
<tr>
<td align="left" valign="top" width="19"> </td>
<td class="menu" align="left" valign="top" width="996" colspan="2">
<?php show_menu2(0, SM2_root, SM2_start); ?>
</td>
<td align="left" valign="top" width="8"> </td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td align="left" valign="top" height="400" background="<?php echo TEMPLATE_DIR; ?>/bg-mitte.jpg">
<div align="left">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="1023" id="AutoNumber3">
<tr>
<td align="left" valign="top" width="18"> </td>
<td align="left" valign="top" width="218">
<div align="left">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="218" id="AutoNumber4">
<tr>
<td align="left" valign="top">
<h1><?php echo PAGE_TITLE; ?></h1>
</td>
</tr>
<tr>
<td align="left" valign="top">
<img border="0" src="<?php echo TEMPLATE_DIR; ?>/leer.gif" width="35" height="1" alt="TC-Voelkersbach"></td>
</tr>
<tr>
<td class="menu_2" align="left" valign="top">
<?php
if(SHOW_MENU2) {
show_menu2(0, SM2_ROOT+1, SM2_CURR+1);
}
?>
</td>
</tr>
</table>
</div>
</td>
<td align="left" valign="top" width="66"> </td>
<td class="content" align="left" valign="top" width="687">
<?php page_content(); ?>
</td>
<td align="left" valign="top" width="34"> </td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td align="left" valign="top">
<img border="0" src="<?php echo TEMPLATE_DIR; ?>/bg-unten.jpg" width="1023" height="30" alt="Tennisclub Voelkersbach"></td>
</tr>
<tr>
<td class="footer" align="left" valign="top">
<p align="center">
<?php page_footer(); ?>
</td>
</tr>
<tr>
<td align="left" valign="top"> </td>
</tr>
</table>
</center>
</div>
</body>
Suuuuuuper,
es läuft alles ohne Probleme
Ich habe den Aufruf wieder gemäß Sternchen ausgetauscht:
<?php
show_menu2(0, SM2_ROOT, SM2_START);
?>
und dann auch noch den zweiten Aufruf etwas tiefer im Script
<?php
show_menu2(0, SM2_ROOT+1, SM2_CURR+1);
?>
Das war es und es läuft. Jetzt muss ich mal schauen, wo denn da genau die Unterschiede lagen.
Vielen Dank aber an alle Beteiligten. Super, dass man hier immer wieder und schnell Hilfe bekommt
LG
Rainer
Quote from: ra-wi on February 03, 2023, 11:26:37 AM
Das war es und es läuft. Jetzt muss ich mal schauen, wo denn da genau die Unterschiede lagen.
Groß-/Kleinschreibung der Flags im Funktionsaufruf. Bei show_menu2() wird alles groß geschrieben.