[TYPO3-german] Ext PHP File
Rainer Schleevoigt
rainer at webmasterei-hamburg.de
Fri Nov 4 17:17:03 CET 2011
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 at 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
More information about the TYPO3-german
mailing list