On 11/4/11 5:06 PM, Robert Wildling wrote:
Hi,
Weil aus einer anderen Datenbank eine Menüstruktur generiert werden
soll, wird ein externes PHP file mit der Ext mh_phpinclude
intergriert: mittels
Du kannst mittels einer userFunction (ohne diese fragwürdige EXT) auch
menüs generieren. Dort instanziiest Du ein cObj und hast die meisten
API-Funktionen zur Verfügung. Gegen diese schiere PHP-Lösung spricht nun
wirklich einiges:
- damit umgehst Du das ganze Framework mit allen Sicherheitsüberlegungen,
- der DB-Zugang muss doppelt gepflegt werden.
- entsprechende Einstellungen im BE werden ignoriert
- realURl &Gen. funzen nicht, weil Du nicht TypoLink generierst.
Es lohn sich also, es RICHTIG zu machen.
Ein schönes WE!
Rainer
page.10 {
...
subparts {
MENU_META_ADDITIONAL_LINKS < plugin.tx_mhphpinclude_pi1
MENU_META_ADDITIONAL_LINKS.file =
fileadmin/php/xtc-for-typo3-menu.php
...
}
das PHP file ist ganz einfach:
<?php
define('ABS_PATH_XTC',"http://localhost/_xtcModified/");
// Die wichtigste Funktion hier
function getXTCMenu ($pid) {
include "../_xtcModified/includes/configure.php";
$connid = mysql_pconnect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD);
if(!$connid) die("Die Datenbankserververbindung konnte nicht
hergestellt werden");
mysql_select_db(DB_DATABASE) or die("Die Datenbank konnte nicht
ausgewählt werden");
$result = mysql_query("SELECT content_manager.content_id,
content_manager.categories_id,
content_manager.content_title,
content_manager.content_group,
content_manager.content_status
FROM content_manager LEFT JOIN cm_file_flags
ON cm_file_flags.file_flag = content_manager.file_flag
WHERE content_manager.languages_id = 2
AND content_manager.content_status != 0
AND cm_file_flags.file_flag=" . $pid . "
ORDER BY content_manager.sort_order", $connid);
if(!$result) die ('Die Datenbank konnte nicht abgefragt werden');
echo "<ul>";
while($tmp = mysql_fetch_array($result)) {
echo '<li><a href="' . ABS_PATH_XTC . 'shop_content.php?coID='
. $tmp["content_group"] . '">' .
htmlspecialchars(utf8_decode($tmp["content_title"])) . "</a></li>";
}
echo "</ul>";
mysql_free_result($result);
}
getXTCMenu(1);
?>
Laut
http://www.martin-hesse.info/webentwicklung/php-dateien-uber-typoscript-in-typo3-einfugen.html
kann auch PHP_SCRIPT_EXT gehandelt werden, wesewegen direkte echo's
möglich sein sollen:
http://typo3.org/documentation/document-library/references/doc_core_tsref/4.2.0/view/1/8/#id4292763
Aber leider erhalte ich eine Reihe von Fehlermeldungen, die trotz
abgeschalteter Fehlermeldungen in der localconf.php
[SYS][displayErrors] = 0
auftreten, und zwar in dieser Art:
exec_SELECTquery
caller t3lib_DB::exec_SELECTquery
ERROR Table 'xtcmodified.pages' doesn't exist
lastBuiltQuery SELECT uid FROM pages WHERE uid IN (10) AND
pages.deleted=0 AND pages.t3ver_state<=0 AND pages.pid!=-1 AND
pages.hidden=0 AND pages.starttime<=1320421440 AND (pages.endtime=0 OR
pages.endtime>1320421440) AND (pages.fe_group='' OR pages.fe_group IS
NULL OR pages.fe_group='0' OR FIND_IN_SET('0',pages.fe_group) OR
FIND_IN_SET('-1',pages.fe_group)) AND doktype NOT IN (255)
debug_backtrace require#84 // include#451 //
TSpagegen::renderContent#76 // tslib_cObj->cObjGet#319 //
tslib_cObj->cObjGetSingle#717 // tslib_content_Template->render#770 //
tslib_cObj->cObjGetSingle#178 // tslib_content_Content->render#770 //
tslib_cObj->exec_getQuery#102 // tslib_cObj->getQuery#7406 //
tslib_cObj->getWhere#7
...
Kann mir jemand sagen, was ich da falsch mache und wie ich diese
Meldungen wieder entfernen kann?
Danke!
Gruß, Robert
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
--
Dipl.-Ing. Rainer Schleevoigt
Webmasterei Hamburg
Certified TYPO3 Integrator
Hamburger AppWerft
iPhone/Android Developer
22303 Hamburg
Novalisweg 10
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german