[Erledigt] Problem mit Anzeige einer Funktion

Begonnen von emet1, 28 Juni 2008, 20:00:22

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

emet1

Hallo,

versuche gerade per include einen Randomscript aufzurufen - geht auch.

Einzigstes Problem ist , das die Ausgabe nicht da erfolgt, wo der Platzhalter sitzt, sondern immer ganz oben links und das template nach unten verschiebt.

Die Ausgabe erscheint praktisch über dem Header.

<body>
<p>R2-Textzeile 04</p>
<p><img src="mtoolsm/files/bilder/04.jpg" alt="Bild"/></p>
<div id="container">
      <div id="header">


Vom html/css ist es einwandfrei eingebunden:

<div id="Infobox01"><h3>Infobox Test Text</h3>
<div class="ibcont"><p> Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua.</p>
{FILESCRIPT}
</div></div>


und müsste so ausgegeben werden - (links unter den Boxen in einer dort ausgegebenen Infobox, welche auch dort angezeigt wird).

.....
</div>

<div id="Infobox01"><h3>Infobox Test Text</h3>
<div class="ibcont"><p> Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua.</p>
<p>R2-Textzeile 01</p>
<p><img src="mtoolsm/files/bilder/01.jpg" alt="Bild"/></p>
</div></div>

<div id="Skyscraper"> ............


und so wird es angezeigt:

.....
</div>

<div id="Infobox01"><h3>Infobox Test Text</h3>
<div class="ibcont"><p> Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua.</p>

</div></div>

<div id="Skyscraper"> ............


Dafür erscheint es immer links oben und zerschiesst mir alles.


Eingebaut habe ich das ganze in der functions.php (hier der gesamte Codeabschnitt, damit man genau sieht, wo es im einzelnen eingebaut ist)


/**
* Standardfarben der PopupFenster
*/
define("_ol_fgcolor", $bgcolor1); # Main background color (the large area). Usually a bright color (white, yellow etc)
define("_ol_textcolor", $textcolor1); # Text color. Usually a dark color
define("_ol_bgcolor", $bgcolor2); # Border color and color of caption. Usually a dark color (black, brown etc)
define("_ol_capcolor", $textcolor2); # Color of the caption text. Usually a bright color
define("_ol_closecolor", $textcolor2); # Color of "Close" when using Sticky. Usually a semi-bright color

function mx_mtm_filescript ()
{
include('mtoolsm/filescript.php');
    return $part;
}

/**
* Definition der jeweiligen Platzhalter und deren Ersetzungen
*/
function theme_define_placeholders()
{
    global $themesetting;
    $part[] = array("{VIEWBENCH}", mxViewBench());
    $part[] = array("{FOOTMESSAGE}", footmsg(1, 0));
    $part[] = array("{CURRENTPATH}", mx_theme_currentpath());
    $part[] = array("{SEARCHFORM}", mx_theme_searchform());
    $part[] = array("{LOGINFORM}", mx_theme_loginform());
    $part[] = array("{SHOWDATE}", mx_show_date());
    $part[] = array("{SHOWTIME}", mx_show_time());
    $part[] = array("{SHOWTOTALUSER}", mx_total_user_online());
    // die Navigationsbuttons im header, Quelle in settings.php
    foreach ($themesetting['headnav'] as $i => $link) {
        $part[] = array('{MENUITEM_' . $i . '}', '<a href="' . $link['link'] . '"><span>' . strtoupper($link['title']) . '</span></a>');
    }
    // Banner anzeigen
    $part[] = array("{BANNER1}",   mx_themebanner(1)         ); #HeaderBanner
    $part[] = array("{BANNER2}",   mx_themebanner(2)         ); #FooterBanner
    $part[] = array("{BANNER7}",   mx_themebanner(7)         ); # Skyscraper
    $part[] = array("{BANNER6}",   mx_themebanner(6)         ); # rechter Banner
    // weitere Beispiele dazu
    // $part[] = array("{VIEWMXCOPY}",                  mxViewCopyright());
    // $part[] = array("{VIEW_DATE}",                   mxThemeShowDate());
    // Eigene Platzhalter
    $part[] = array("{FILESCRIPT}", mx_mtm_filescript());
    return $part;
}


Es geht um diese beiden Abschnitte:

function mx_mtm_filescript ()
{
include('mtoolsm/filescript.php');
    return $part;
}


    $part[] = array("{FILESCRIPT}", mx_mtm_filescript());

Habe ich hier einen Fehler drin?? Kann doch nicht sein, da es angezeigt wird.

Wer kann helfen !!

Wer die Lösung weis, mit den stoss ich virtuell an  :drinks:

Viele Grüße
Ernst
User unter sich. Hier wird man geholfen.

emet1

Hat einer ne Idee.

Muss es evtl. nur in der functions.php an ne andere Stelle oder so.

Gruß
Ernst
User unter sich. Hier wird man geholfen.

Musicman75

Da es sich um DIV Tags handelt könnte es sein, dass es ein CSS problem ist.

Wenn dein Theme komplett auf DIV Tags aufbaut und diese vom CSS an die entsprechende Position gebracht werden, das inkludierte Script aber keine entsprechende Positionszuseisung hat, dann wird das logischerweise an der falschen Stelle angezeigt.

Ich hab auch bei einer von meinen Entwicklungen das Problem, dass sich ein DIV Tag nicht mit Tables verträgt.
Wenn das Theme komplett mit DIV Tags erzeugt wird, dann hab ich mein Teil an der richtigen Stelle, benutzt aber das Layout Tabellen, dann wird mein Tag oben links angzeigt.

Allein aus dem Code kann ich das jetzt aber nicht sehen, normalerweise wird ein Include über die functions.php an der Stelle angezeigt, an der es eingebunden wird.
Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

emet1

#3
Habe es mit und ohne eingesetzt, da die Formatierung beides zulässt.

Ich habe eine Infobox unter die linken Blöcke gebaut und diese erscheint auch dort.
Ist also alles richtig eingebaut, wenn es da erscheint wo es soll.

<div id="Infobox01"><h3>Infobox Test Text</h3>
<div class="ibcont"><p> Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua.</p>
{FILESCRIPT}
</div></div>


Nun kann ich den Platzhalter mit und ohne Div ans Ende der Infobox setzen - ohne geht genau so gut, da der Inhalt nur in p-Tags erscheint.

Also müsste der Code genau dort auch erscheinen - tut er aber nicht.

Ich glaube, das es scheinbar doch eine Abhängigkeit bei Einbinden in die Functions gibt - oder aber ich hätte noch etwas übersehen.

Der obige Code wird dort angezeigt, wo er es soll - der Filescript nicht und die Ausgabe ist lediglich so (also kein Formatierungsproblem)

<p>R2-Textzeile 04</p>
<p><img src="mtoolsm/files/bilder/04.jpg" alt="Bild"/></p>


Also mal wieder so ein seltsames Ding ??? Ein UBO (Unbekanntes Bug Objekt) - das ist ein Fall für  :cool:

Gruß
Ernst
User unter sich. Hier wird man geholfen.

emet1

#4
Hängt wohl doch daran, wo es in der functions.php eingesetzt wird.

Habe eben den gesamten Code in der functions.php komplett separat eingesetzt und dann erscheint es immer noch oben links und im Code diesmal sogar noch über dem Doctype!!!

define("_ol_capcolor", $textcolor2); # Color of the caption text. Usually a bright color
define("_ol_closecolor", $textcolor2); # Color of "Close" when using Sticky. Usually a semi-bright color

function mx_mtm_filescript ()
{
include('mtoolsm/filescript.php');
    return $part;
}

{
    // Eigene Platzhalter
    $part[] = array("{FILESCRIPT}", mx_mtm_filescript());
    return $part;
}

/**
* Definition der jeweiligen Platzhalter und deren Ersetzungen
*/
function theme_define_placeholders()
{


In der Seite:

<p>R2-Textzeile 08</p>
<p><img src="mtoolsm/files/bilder/08.jpg" alt="Bild"/></p><!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="de" lang="de" dir="ltr"><head>


Und dort wo es auftauchen sollte, sieht es so aus:

<div id="Infobox01"><h3>Infobox Test Text</h3>
<div class="ibcont"><p> Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua.</p>
-:_b59718fdd4fae8e8608c5f6b3af102d4_:-FILESCRIPT}
</div></div>


Wer hat eine Ahnung, wo man eine Funktion in der functios.php einsetzen kann, damit der Platzhalter auch da angezeigt wird, wo er es soll.

Gruß
Ernst
User unter sich. Hier wird man geholfen.

JoergK

Hoi ;)

Was steht denn in der Datei filescript.php drinne? Leg die mal als *.zip ab und gib der Gemeinschaft nen Link. Vermutlich liegt nämlich in der Datei der Fehler. ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

emet1

#6
Muss das erst wieder einbauen - mach ich gleich.

Script liegt im Unterverzeichnis mtoolsm.

Domain ist mom. per htaccess gesperrt - Zugang:
User: ErHeMe
Passwort: efirstbase

http://www.ecommerce-found.de


Der Script hat wohl selbst keinen Fehler, da er auf einigen anderen Domains und auch unter Umgebungen wie z.B. xtc läuft. Da ist es aber einfacher, da man da ausser über die etwas umständlichere Methode wie mit Smarty auch einen php-script direkt aufrufen kann - und zwar mit {php}...usw. - man muss dort nicht erst die Kunktion anlegen.

Scheinbar beisst sich da etwas.


filescript.php

<?php
$erste_datei 
"1";
$letzte_datei "10";
$datei_endung ".txt";

$datei_pfad "mtoolsm/files/";

$random mt_rand($erste_datei$letzte_datei);
$datei_name $random.$datei_endung;
$content file ($datei_pfad.$datei_name);
foreach (
$content as $line)
{
echo 
$line;
}
?>


Ausgabe des Scriptes:

<p>R2-Textzeile 02</p>
<p><img src="mtoolsm/files/bilder/02.jpg" alt="Bild"/></p>



theme.html

<!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">
<head>
    <title>mx-overviewlight</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="pragma" content="no-cache" />
    <link type="text/css" href="style/style.css" rel="StyleSheet" />
    <!-- START more_header -->
    <!-- Design by Dzinerstudio.com ported to PragmaMx by Diabolo [)-(] -->
    <!--[if  IE 7]>
                <link type="text/css" href="style/styleIE7.css" rel="StyleSheet">
                <![endif]-->
    <!-- END more_header -->
</head>
  <body>
    <div id="container">
      <div id="header">
        <div id="headerleft">
          <div id="headerright">
            <div id="menubar">
             <div id="topmenu">
              <ul>
                <li>{MENUITEM_1}
                </li>
                <li>{MENUITEM_2}
                </li>
                <li>{MENUITEM_3}
                </li>
                <li>{MENUITEM_4}
                </li>
              </ul>
             </div>
            </div>
          <div id="welcome">
                  {LOGINFORM}               
          </div>
          <a href="./" title=""><span id="logo"><!-- --></span></a>
<div id="HeaderBanner">{BANNER1}</div>
        </div>
      </div>
    </div>
              <div id="mainarea">
                <table width="100%" cellpadding="0" cellspacing="0" border="0">
                  <tr>
                    <!-- START left_noblocks -->
                    <td width="185" style="padding: 4px; padding-top: 8px;padding-right: 1ex;" valign="top">
                      <div id="leftbarHeader" style="padding-top: 5px; width: 185px;">
                        <!-- START blocks_left_loop -->
                        <!-- START block_left -->
                        <div class="tborder" style="margin-bottom: 2px;">
                          <div class="titlebg" style="padding: 4px; font-weight: bold;">
                            {BLOCK_TITLE}
                          </div>
                          <div class="windowbg" style="padding:4px;">
                            {BLOCK_CONTENT} <!-- START comment -->
                             Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                            ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                            reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
                            sint occaecat <!-- END comment -->
                          </div>
                        </div>
                        <!-- END block_left -->
                        <!-- END blocks_left_loop -->
                      </div>

<div id="Infobox01"><h3>Infobox Test Text</h3>
<div class="ibcont"><p> Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua.</p>
{FILESCRIPT}
</div></div>

<div id="Skyscraper">{BANNER7}</div>

                    </td>
                    <!-- END left_noblocks -->
                    <td width="100%" align="left" valign="top" style="padding-top: 12px; padding-bottom: 10px;">
                      <table cellpadding="0" cellspacing="0" border="0" width="100%" style="table-layout: fixed;">
                        <tr>
                          <td valign="top">
                               <!-- START blocks_center_top_loop -->
                                         <!-- START block_center_top -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="titlebg">
                                {BLOCK_TITLE}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <div style="height: 1%; overflow: auto;">
                                      <div>
                                        <div style="padding: 1em;">
                                          {BLOCK_CONTENT} <!-- START comment -->
                                           Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod
                                          tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                                          quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                                          consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
                                          cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
                                          <!-- END comment -->
                                        </div>
                                      </div>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END block_center_top -->
                            <!-- END blocks_center_top_loop -->
                            <!-- START script_output -->
                            <!-- START opentable -->
                            <div class="openclosetable">
                              {OPENCLOSE_TABLE}
                            </div>
                            <!-- END opentable -->
                            <!-- START opentable2 -->
                            <div class="openclosetable2">
                              {OPENCLOSE_TABLE_2}
                            </div>
                            <!-- END opentable2 -->
                            <!-- START opentableal -->
                            <div class="openclosetable_al">
                              {OPENCLOSE_TABLE_AL}
                            </div>
                            <!-- END opentableal -->
                            <!-- START themeindex_1 -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="catbg">
                                {$title}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <span class="smalltext"><em>{$infoline}</em></span>
                                    <div style="height: 1%;">
                                      <div>
                                        {$content} <!-- START comment -->
                                         Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor
                                        incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
                                        nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                                        Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
                                        fugiat nulla pariatur. Excepteur sint occaecat <!-- END comment -->
                                      </div>
                                      <p style="text-align: right; margin-top: 1ex;">
                                        <span class="smalltext">{$readmore}</span>
                                      </p>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END themeindex_1 -->
                            <!-- START themeindex_2 -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="catbg">
                                {$title}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <span class="smalltext"><em>{$infoline}</em></span>
                                    <div style="height: 1%;">
                                      <div>
                                        {$content} <!-- START comment -->
                                         Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor
                                        incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
                                        nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                                        Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
                                        fugiat nulla pariatur. Excepteur sint occaecat <!-- END comment -->
                                      </div>
                                      <p style="text-align: right; margin-top: 1ex;">
                                        <span class="smalltext">{$readmore}</span>
                                      </p>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END themeindex_2 -->
                            <!-- START themearticle -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="catbg">
                                {$title}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <span class="smalltext"><em>{$infoline}</em></span>
                                    <div style="height: 1%; overflow: auto;">
                                      <div>
                                        {$content} <!-- START comment -->
                                         Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor
                                        incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
                                        nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                                        Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
                                        fugiat nulla pariatur. Excepteur sint occaecat <!-- END comment -->
                                      </div>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END themearticle -->
                            <!-- END script_output -->
                            <!-- START blocks_center_down_loop -->
                            <!-- START block_center_down -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="titlebg">
                                {BLOCK_TITLE}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <div style="height: 1%; overflow: auto;">
                                      <div>
                                        <div style="padding: 1em;">
                                          {BLOCK_CONTENT} <!-- START comment -->

                                           Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod
                                          tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                                          quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                                          consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
                                          cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
                                          <!-- END comment -->
                                        </div>
                                      </div>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END block_center_down -->
                            <!-- END blocks_center_down_loop -->
                          </td>
                        </tr>
                      </table>
                    </td>
                    <!-- START index_on -->
                    <td style="padding: 4px; padding-top: 8px; padding-left: 1ex;" valign="top" align="right">
                      <!-- START blocks_right_loop -->
                      <!-- START block_right -->
                      <div style="width: 195px; text-align: left; padding-top: 5px;">
                        <div class="tborder" style="margin-bottom: 2px;">
                          <div class="titlebg" style="padding: 4px; font-weight: bold;">
                            {BLOCK_TITLE}
                          </div>
                          <div class="windowbg" style="padding:4px;">
                            <div style="width: 100%;">
                              {BLOCK_CONTENT} <!-- START comment -->
                               Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                              ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                              ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                              reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
                              sint occaecat <!-- END comment -->
                            </div>
                          </div>
                        </div>
                      </div>
                      <!-- END block_right -->
                      <!-- END blocks_right_loop -->
<div id="RechterBanner">{BANNER6}</div>
        </td>
                    <!-- END index_on -->
                  </tr>
                </table>
              </div>
      <!-- Footer -->
      <div id="footer">
        <div id="footer-left">
          <div id="footer-right">
            <div id="footerarea"><!-- Respect our work: Do not touch Copyrights /-->
<div id="FooterBanner">{BANNER2}</div>
              <span class="smalltext" style="display: inline; visibility: visible; font-family: Verdana, Arial, sans-serif;">
              Theme by <a href="http://www.dzinerstudio.com"><b>DzinerStudio</b></a>
               for pragmaMx by <a href="http://www.pragmamx.fr"><b>Diabolo [)-(]</b></a></span><!-- \End Copyrights -->
               - {FOOTMESSAGE}
            </div>
          </div>
        </div>
      </div>
      <!-- \Footer-->
  </div>
  </body>
</html>



functions.php
... weiter im nächsten Post - Platz hat nicht gereicht.
User unter sich. Hier wird man geholfen.

emet1

functions.php

<?php
/**
 * This file is part of
 * pragmaMx - Web Content Management System.
 * Copyright by pragmaMx Developer Team - http://www.pragmamx.org
 *
 * pragmaMx 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 3 of the License, or
 * (at your option) any later version.
 *
 * $Revision: 1.3.2.9 $
 * $Author: tora60 $
 * $Date: 2008/01/29 12:54:27 $
 */

defined('mxMainFileLoaded') or die('access denied');

/**
 * Themesettingsdatei includen
 */
include(dirname(__FILE__) . '/settings.php');

/**
 * Dateiname des templates
 */
define('MX_THIS_THEMEFILE''theme.html');

/**
 * Standardfarben die im System und den Modulen verwendet werden
 */
global $bgcolor1;
$bgcolor1 "#EEEEEE";
global 
$bgcolor2;
$bgcolor2 "#EAE9E9";
global 
$bgcolor3;
$bgcolor3 "#F7F5F5";
global 
$bgcolor4;
$bgcolor4 "#F7F5F5";
global 
$textcolor1;
$textcolor1 "#808080";
global 
$textcolor2;
$textcolor2 "#808080"

// Modul-Bloecke im passenden Design anzeigen
/**
 * Design im pragmaMx.org Stil anzeigen
 */
$themePmxStyle true;
/**
 * Breite der Tabelle im pragmaMx.org Stil
 */
$themePmxStyleWidth '136px';

/**
 * Standardfarben der PopupFenster
 */
define("_ol_fgcolor"$bgcolor1); # Main background color (the large area). Usually a bright color (white, yellow etc)
define("_ol_textcolor"$textcolor1); # Text color. Usually a dark color
define("_ol_bgcolor"$bgcolor2); # Border color and color of caption. Usually a dark color (black, brown etc)
define("_ol_capcolor"$textcolor2); # Color of the caption text. Usually a bright color
define("_ol_closecolor"$textcolor2); # Color of "Close" when using Sticky. Usually a semi-bright color

/**
 * Definition der jeweiligen Platzhalter und deren Ersetzungen
 */
function theme_define_placeholders()
{
    global 
$themesetting;
    
$part[] = array("{VIEWBENCH}"mxViewBench());
    
$part[] = array("{FOOTMESSAGE}"footmsg(10));
    
$part[] = array("{CURRENTPATH}"mx_theme_currentpath());
    
$part[] = array("{SEARCHFORM}"mx_theme_searchform());
    
$part[] = array("{LOGINFORM}"mx_theme_loginform());
    
$part[] = array("{SHOWDATE}"mx_show_date());
    
$part[] = array("{SHOWTIME}"mx_show_time());
    
$part[] = array("{SHOWTOTALUSER}"mx_total_user_online());
    
// die Navigationsbuttons im header, Quelle in settings.php
    
foreach ($themesetting['headnav'] as $i => $link) {
        
$part[] = array('{MENUITEM_' $i '}''<a href="' $link['link'] . '"><span>' strtoupper($link['title']) . '</span></a>');
    }
    
// Banner anzeigen
    
$part[] = array("{BANNER1}",   mx_themebanner(1)         ); #HeaderBanner
    
$part[] = array("{BANNER2}",   mx_themebanner(2)         ); #FooterBanner
    
$part[] = array("{BANNER7}",   mx_themebanner(7)         ); # Skyscraper
    
$part[] = array("{BANNER6}",   mx_themebanner(6)         ); # rechter Banner
    // weitere Beispiele dazu
    // $part[] = array("{VIEWMXCOPY}",                  mxViewCopyright());
    // $part[] = array("{VIEW_DATE}",                   mxThemeShowDate());
    // Eigene Platzhalter
    
$part[] = array("{FILESCRIPT}"mx_mtm_filescript());
    return 
$part;
}

function 
mx_mtm_filescript () {
include(
'mtoolsm/filescript.php'); return $variable;
}

/**
 * Definition der einzelnen Blockbereiche
 */
function theme_define_blocks()
{
    global 
$themesetting;
    static 
$var;
    if (isset(
$var)) return $var;
    
// linke Bloecke
    
$name 'block_left';
    
$var[$name]['container'] = 'blocks_left_loop';
    
$var[$name]['function'] = 'themesidebox';
    
$var[$name]['position'] = 'l';
    
// provisorische Moeglichkeit, die linken Bloecke bei bestimmten Modulen zu entfernen
    
if (isset($themesetting['noleft_modules']) && in_array(MX_MODULE$themesetting['noleft_modules'])) {
        unset(
$var[$name]);
    }
    
// obere Center-Bloecke
    
$name 'block_center_top';
    
$var[$name]['container'] = 'blocks_center_top_loop';
    
$var[$name]['function'] = 'thememiddlebox';
    
$var[$name]['position'] = 'c';
    
// untere Center-Bloecke
    
$name 'block_center_down';
    
$var[$name]['container'] = 'blocks_center_down_loop';
    
$var[$name]['function'] = 'thememiddlebox';
    
$var[$name]['position'] = 'd';
    
// rechte Bloecke
    
$name 'block_right';
    
$var[$name]['container'] = 'blocks_right_loop';
    
$var[$name]['function'] = 'themesidebox';
    
$var[$name]['position'] = 'r';
    return 
$var;
}

/**
 * Definition des Contentbereiches inkl. der open/close-Table Funktionen
 */
function theme_define_content()
{
    static 
$var;
    if (isset(
$var)) return $var;
    
// die Funktion OpenTable()
    
$var['opentabs']['OpenTable']['templatevar'] = 'opentable';
    
$var['opentabs']['OpenTable']['innerreplace'] = '{OPENCLOSE_TABLE}'// hier kann irgendwas stehen, es muss aber mit dem entsprechenden Text innerhalb der template-Datei uebereinstimmen...
    // die Funktion OpenTable2()
    
$var['opentabs']['OpenTable2']['templatevar'] = 'opentable2';
    
$var['opentabs']['OpenTable2']['innerreplace'] = '{OPENCLOSE_TABLE_2}';
    
// die Funktion OpenTableAl()
    
$var['opentabs']['OpenTableAl']['templatevar'] = 'opentableal';
    
$var['opentabs']['OpenTableAl']['innerreplace'] = '{OPENCLOSE_TABLE_AL}';
    
// die Funktion themeindex() / News Modul
    
$var['themeindex'][1] = 'themeindex_1';
    
$var['themeindex'][2] = 'themeindex_2'// die Funktion themearticle() beim 2ten Aufruf / News Modul
    // die Funktion themearticle() / News Modul
    
$var['themearticle'] = 'themearticle';
    
// der Name (output_container) darf nicht veraendert werden !!
    
$var['output_container'] = 'script_output';
    
// der Name (index_on_container) darf nicht veraendert werden !!
    
$var['index_on_container'] = 'index_on';
    
$var['index_on_block_container'] = 'blocks_right_loop';
    
// der Name (more_header) darf nicht veraendert werden !!
    
$var['add_header'] = 'more_header';

    return 
$var;
}


/**
 * ersetzen von eigenen Theme-Elementen, kann veraendert und ergaenzt werden
 * diese Teile werden gleich zu Beginn des scriptes, beim einlesen des templates, ersetzt
 * Vorsicht, wenn das Theme gecached werden soll!!!
 * Dann duerfen hier keine dynamischen Elemente eingesetzt werden.
 */
function theme_replace_start($template)
{
    
/**
     * bestimmte Texte, vor allem Image-Pfade, die ersetzt werden sollen, definieren (suche/ersetze)
     */
    
$part[] = array('"images/''"' MX_BASE_URL MX_THEME_DIR '/images/'); // normale images im theme
    
$part[] = array('"style/''"' MX_BASE_URL MX_THEME_DIR '/style/');
    
$part[] = array('"js/''"' MX_BASE_URL MX_THEME_DIR '/js/');
    
$part[] = array('url(images/''url(' MX_BASE_URL MX_THEME_DIR '/images/');
    
// weitere Beispiele dazu
    // $part[] = array("\"http://themes.pragmamx.org/", "\"".MX_BASE_URL);
    
return theme_replace_parts($template$part);
}


/**
 * ersetzen von eigenen Theme-Elementen, kann veraendert und ergaenzt werden
 * diese Teile werden vor der Ausgabe des headers im Headbereich ersetzt
 */
function theme_replace_header($newheader)
{
    return 
$newheader;
    
// alles ersetzen und Rückgabe...
    // return theme_replace_parts($newheader, $part);
}

/**
 * ersetzen in jedem einzelnen Block
 */
function theme_replace_blocks($template$block)
{
    switch (
$block['position']) {
        case 
'l':
            
$part[] = array(' bgcolor="' $GLOBALS['bgcolor1'] . '"'' bgcolor="' $GLOBALS['bgcolor3'] . '"');
            break;
        case 
'c':
            break;
        case 
'd':
            break;
        case 
'r':
            
$part[] = array(' bgcolor="' $GLOBALS['bgcolor1'] . '"'' bgcolor="' $GLOBALS['bgcolor3'] . '"');
            break;
    }
    
// Teil fuer alle Bloecke
    
$part['preg'][] = array('#<(?:strong|b)><big>&middot;</big></(?:strong|b)>#i''<img src="' MX_THEME_DIR '/images/dot.gif" alt="" border="0" style="vertical-align: middle; height: 9px; width: 5px; border: none;">');
    
// alle Bilder aus dem Onlineblock holen
    
$part['preg'][] = array('#<img\s+([^>]+)images/maaxon/([^>]+)\.gif([^>]+)\s*/*>#i''');

    if (isset(
$part)) {
        return 
theme_replace_parts($template$part);
    } else {
        return 
$template;
    }
}

/**
 * ersetzen von eigenen Theme-Elementen, kann veraendert und ergaenzt werden
 * diese Teile werden am Ende des scriptes, in der Funktion themefooter() ersetzt
 */
function theme_replace_end($template)
{
    global 
$themesetting;
    
// je nach $index, die Tabellenspalten der rechten Bloecke extrahieren oder entfernen
    
if (empty($GLOBALS['index'])) {
        
$part[] = array('<div id="centercolumn">''<div id="centercolumn1">');
    }
    
// provisorische Moeglichkeit, die linken Bloecke bei bestimmten Modulen zu entfernen
    
if (isset($themesetting['noleft_modules']) && in_array(MX_MODULE$themesetting['noleft_modules'])) {
        
theme_extract_part($template'left_noblocks');
        
$part[] = array('<div id="centercolumn1">''<div id="centercolumnfull">');
    }
    
// die haesslichen Rahmen um Checkboxen und Radio-Feldern entfernen, über style-sheet Klasse
    
$pattern '#(<input[^>]*type\s*=\s*[\"\'](?:radio|checkbox)[\"\']*?[^>]*?)\s*/*>#iU';
    
preg_match_all($pattern$template$matches);
    if (isset(
$matches[1])) {
        foreach(
$matches[1] as $search) {
            if (!
preg_match('#class\s*=\s*["\'][^"\']*["\']#i'$search)) {
                
$part[] = array($search$search ' class="formcheckbox"');
            }
        }
    }
    
// die haesslichen Rahmen um Checkboxen und Radio-Feldern entfernen, über style-sheet Klasse
    
$pattern '#(<input.*[^>]type\s*=\s*[\"\'](?:submit|button|reset)[\"\']*?[^>]*?)\s*/*>#iU';
    
preg_match_all($pattern$template$matches);
    if (isset(
$matches[1])) {
        foreach(
$matches[1] as $search) {
            if (!
preg_match('#class\s*=\s*["\'][^"\']*["\']#i'$search)) {
                
$part[] = array($search$search ' class="formbutton"');
            }
        }
    }
    
// falls xHTML-Tags zerstoert wurden, diese hier wieder reparieren
    
$part['preg'][] = array('#/[[:space:]]?class="(formcheckbox|formbutton)"\s*/*>#'' class="$1" />');
    
// falls die eben hinzugefügten Tageigenschaften doppelt gesetzt wurden, diese wieder vereinzeln
    
$part['preg'][] = array('#( class="(?:formbutton|formcheckbox)"){2,}#si''$1');
    
// leere Tabellen Tags entfernen, wenn kein Inhalt von Modul angezeigt wird (blank_home)
    
$part['preg'][] = array('#<table[^>]*>\s*<tbody>\s*<tr>\s*<td>\s*</td>\s*</tr>\s*</tbody>\s*</table>\s*<br\s*/?>
#si', '');

    $template = theme_replace_parts($template, $part);
    return $template;
}

/**
* Beschreibung
*/
function getThemeAdminname($story)
{
    global $theme_template;
    if (!empty($story['url'])) {
        $story['aid'] = "<a href='" . $story['url'] . "' target='new'>" . $story['aid'] . "</a>";
    } else if (!empty($story['email'])) {
        $story['aid'] = "<a href='mailto:" . mxPrepareToDisplay($story['email']) . "'>" . $story['aid'] . "</a>";
    }
    return $story['aid'];
}

/**
* Beschreibung
*/
function getThemeIndexButtons($story)
{
    global $theme_template;
    static $img, $isnewsadmin;
    if (!isset($isnewsadmin)) {
        $isnewsadmin = mxGetAdminPref('radminarticle');
    }
    if (empty($img)) {
        // die images werden in einen statischen Variable gehalten um die Bildgroessen nicht bei jedem Artikel zu ermitteln
        // xx als alttext wird weiter unten dynamisch ersetzt
        $img[1] = mxCreateImage(MX_THEME_DIR . "/images/buttons/informant.gif", "xx", 0);
        $img[2] = mxCreateImage(MX_THEME_DIR . "/images/buttons/print.gif", _BMXPRINTER, 0);
        $img[3] = mxCreateImage(MX_THEME_DIR . "/images/buttons/friend.gif", _BMXFRIEND, 0);
        $img[4] = mxCreateImage(MX_THEME_DIR . "/images/buttons/counter.gif", "xx", 0);
        $img[6] = mxCreateImage(MX_THEME_DIR . "/images/buttons/bytesmore.gif", "xx", 0);
        if ($GLOBALS['articlecomm']) $img[5] = mxCreateImage(MX_THEME_DIR . "/images/buttons/comments.gif", "xx", 0);
        // mxdebugfuncvars($story['allmorelink']); // zum ansehen der morelink-Parameter einkommentieren
        // mxdebugfuncvars($story);                // zum ansehen der story-Parameter der ersten story einkommentieren
    }
    // mxdebugfuncvars($story);                  // zum ansehen der story-Parameter aller stories einkommentieren
    $bmore = ($story['allmorelink']['bodycount']) ? _READMORE . " (" . $story['allmorelink']['bodycount'] . " " . _BYTESMORE . ")" : _READMORE;
    $adminlink = ($isnewsadmin) ? " href='admin.php?op=EditStory&amp;sid=" . $story['sid'] . "' " : "";
    $link[] = $story['allmorelink']['storylink'] . str_replace("xx", $bmore, $img[6]) . "</a>";
    if ($story['informant'] != $GLOBALS['anonymous'] && (MX_IS_USER || MX_IS_ADMIN)) {
        $link[] = $story['allmorelink']['informantlink'] . str_replace("xx", _USERINFO . ": " . $story['informant'], $img[1]) . "</a>";
    }
    $link[] = $story['allmorelink']['printerlink'] . $img[2] . "</a>";
    if (mxModuleAllowed('Recommend_Us')) {
        $link[] = $story['allmorelink']['friendlink'] . $img[3] . "</a>";
    }
    if (empty($story['acomm']) && $GLOBALS['articlecomm']) { // Achtung!!! acomm: 0 = Ja , 1 = Nein
        $link[] = $story['allmorelink']['commentslink'] . str_replace("xx", _COMMENTS . " (" . $story['comments'] . ")", $img[5]) . "</a>";
    }
    $link[] = "<a title='" . $story['allmorelink']['counter'] . ", " . $story['allmorelink']['score'] . "' " . $adminlink . ">" . str_replace("xx", $story['counter'] . " " . _READS, $img[4]) . "</a>";
    return $link;
}

/**
* erstellt den Navigationspfad zum aktuellen Modul
*/
function mx_theme_currentpath($spacer = '&nbsp;>&nbsp;')
{
    global $prefix;
    $maxwordlen = 18;

    $link[] = '<a href="./" title="' . _HOME . '">' . _HOME . '</a>';
    // Module
    if (isset($_REQUEST['name']) && mxModuleAllowed(MX_MODULE)) {
        $result = sql_query("select custom_title from ${prefix}_modules WHERE title='" . mxAddSlashesForSQL(MX_MODULE) . "'");
        list($custom_title) = sql_fetch_row($result);
        $custom_title = str_replace("_", " ", ((empty($custom_title)) ? MX_MODULE : $custom_title));
        $short_title = mxCutString($custom_title, $maxwordlen, "..", "");
        $link[] = "<a href=\"modules.php?name=" . urlencode(MX_MODULE) . "\" title=\"" . $custom_title . "\">" . $short_title . "</a>";
    }
    // Administration
    else if (defined('mxAdminFileLoaded')) {
        $link[] = "<a href=\"admin.php\" title=\"" . _ADMINMENU . "\">" . _ADMINMENU . "</a>";
    }
    return implode($spacer, $link);
}

/**
* Beschreibung
*/
function mx_theme_searchform()
{
    $out = '';
    if (mxModuleAllowed('Search')) {
        $out = '
<form action="modules.php" method="get" title="' . _SEARCH . '">
<input type="hidden" name="name" value="Search">
<input type="text" value="' . _SEARCH . '" name="query" size="20" onfocus="this.value = \'\';" onblur="if(this.value==\'\') this.value=\''. _SEARCH .'...\';">
</form>
';
    }
    return $out;
}


/**
* Beschreibung
*/
function mx_theme_loginform()
{
    global $prefix, $user_prefix, $JPCACHE_ON;
    if ($JPCACHE_ON) {
        return;
    }
    $out = "";
    if (!MX_IS_USER) {
        if (!defined("mxloginblockviewed")) define("mxloginblockviewed", true);
        $nickname = _NICKNAME;
        $password = _PASSWORD;
        $login = _LOGIN;
        $check = mxGetUserLoginCheckField();
        $out .= <<<logform
        <form action="modules.php?name=Your_Account" method="post">
        $check
        <fieldset style="width: 180px">
        <legend>Login</legend>
        <strong>$nickname:</strong>
        <input class="loginput" name="uname" type="text" title="$nickname"  size="8" maxlength="25">
        <br />
        <strong>$password:</strong>
        <input class="loginput" name="pass" type="password" title="$password" size="8" maxlength="20">
        <br />
        <input class="logbutton" name="submit" type="submit" value="$login">
        </fieldset>
        </form>
logform;
    } else {
        $hallo = _HELLO;
        $logout = _AB_LOGOUT;
        $account = _YACCOUNT;
        $privatemessages = "";
        $cookie = mxgetusersession();
        $username = $cookie[1];
        // private Nachrichten
        if (mxModuleAllowed('Private_Messages')) { // falls pm-modul aktiv ist
            $qry = "SELECT Count(msg_id) FROM ${prefix}_priv_msgs WHERE to_userid=" . $cookie[0] . " AND read_msg=0;";
            $result = sql_query($qry);
            list($countpmunread) = sql_fetch_row($result);
            if ($countpmunread) { // wenn angemeldeter User
                $privatemessages = "<div style=\"text-align: left;\">" . _YOUHAVE . " <a href=\"modules.php?name=Private_Messages\" title=\"" . _PRIVATEMSG . "\"><b style=\"font-weight: normal;\">" . intval($countpmunread) . "</b>&nbsp;Nachricht(en)</a></div>";
            }
        }
        // Usergaestebuch
        $guestbook = "";
        /*
    if (mxModuleAllowed("UserGuest")){    # falls gaestebuch vorhanden
    $qry="SELECT Count(gid) FROM ${prefix}_userguest WHERE touserid='".$cookie[0]."' AND touser = '".$username."' AND dummy=0;";
    $result = sql_query($qry);
    list($gbnewentries) = sql_fetch_row($result);
    if($gbnewentries){
    $msg2 = ($GLOBALS['currentlang']=='english') ? 'new guestbookentries' : 'neue G&auml;stebucheintr&auml;ge';
    $guestbook = "<div style=\"text-align: left; font-size: 9px;\">"._YOUHAVE." <a href=\"modules.php?name=UserGuest\" title=\""._GUESTBOOKVIEW."\"><b style=\"color: Yellow; font-weight: bold;\">".intval($gbnewentries)."</b> ".$msg2."</a></div>";
    }
    }
    */
        //$arrowpic = mxCreateImage(MX_THEME_DIR . '/images/arrow.gif', '');
        $out .= <<<logform
        <fieldset style="width: 180px">
        <legend><strong>$hallo</strong>
        <span style="color: #CDCDCD; background-color: transparent;">$username</span>
        </legend>
        <table border="0" cellpadding="0" cellspacing="0">
        <tr>
        <td>$privatemessages $guestbook </td>
        </tr>
        <tr>
        <td align="center"><a href="modules.php?name=Your_Account" title="$account">[Account] </a><a href="modules.php?name=Your_Account&amp;op=logout" title="$logout">[Logout]</a></td>
        </tr>
        </table>
        <br>
        </fieldset>
logform;
    }
    // $out .= "<input type='checkbox' value='1' name='rememberme'>&nbsp;"._REMEMBERLOGIN."<br>";
    return $out;
}

/**
* Beschreibung
*/
function mx_show_date()
{
    // mehrsprachig ;-)
    $stamp = time();
    // initalise String:
    // Gettting the months set up...
    $monate = array(1 => _JANUARY, 2 => _FEBRUARY, 3 => _MARCH, 4 => _APRIL, 5 => _MAY, 6 => _JUNE, 7 => _JULY, 8 => _AUGUST, 9 => _SEPTEMBER, 10 => _OCTOBER, 11 => _NOVEMBER, 12 => _DECEMBER);
    // Getting our Month
    $monat = date("n", $stamp);
    // Getting the Days set up....
    $tage = array(_WEEKFIRSTDAY, _WEEKSECONDDAY, _WEEKTHIRDDAY, _WEEKFOURTHDAY, _WEEKFIFTHDAY, _WEEKSIXTHDAY, _WEEKSEVENTHDAY);
    // Getting Day....
    $tag = date("w", $stamp);
    $out = $tage[$tag] . ", " . date("d", $stamp) . ". " . $monate[$monat] . " " . date("Y", $stamp);
    return $out;
}

/**
* Beschreibung
*/
function mx_show_time ()
{
    $timestamp = time();
    $uhrzeit = date("H:i", $timestamp);
    $out = $uhrzeit;
    return $out;
}

/**
* Beschreibung
*/
function mx_total_user_online ()
{
    global $prefix, $user_prefix, $bgcolor1, $bgcolor2, $bgcolor3, $txtcolor1, $txtcolor2;
    $past = time() - MX_SETINACTIVE_MINS ;
    // Alle Gaeste ermitteln
    $guest_online_num = 0;
    $result = sql_query("SELECT Count(ip) FROM ${prefix}_visitors WHERE time>" . $past . " AND uid=0;");
    list($guest_online_num) = sql_fetch_row($result);
    // alle Online-User ermitteln
    $member_online_num = 0;
    $result = sql_query("SELECT COUNT(uid) FROM ${user_prefix}_users WHERE (user_lastvisit >= " . $past . " AND user_stat=1 AND user_lastmod<>'logout')");
    list($member_online_num) = sql_fetch_row($result);

    $out = ($guest_online_num + $member_online_num);
    return $out;
}

/**
* Banner anzeigen
*/
function mx_themebanner($pos)
{
    if ($GLOBALS['banners']) {
        if (!function_exists('viewbanner')) {
            @include_once('includes/mx_bannerfunctions.php');
        }
        if (function_exists('viewbanner')) {
            $pos = intval($pos);
            if (empty($pos)) $pos = 1;
            return viewbanner($pos);
        }
    }
    return '&nbsp;';
}

/**
* diese Funktion wird im Mx nirgends verwendet !!!
* bleibt aber drin, falls fremd-Module das Ding benoetigen
*/
function FormatStory($thetext, $notes, $aid, $informant)
{
    global $theme_template;
    $notes = (empty($notes)) ? "" : "<br><br><strong>" . _NOTE . "</strong> <em>" . $notes . "</em>\n";
    if ($aid == $informant) {
        echo "<span class='content'>" . $thetext . " " . $notes . "</span>\n";
    } else {
        $boxstuff = (empty($informant)) ? "" : "<i><a href='modules.php?name=Userinfo&amp;uname=" . $informant . "'>" . $informant . "</a> " . _WRITES . ":</i><br><br>";
        $boxstuff .= $thetext . " " . $notes . "\n";
        echo "<span class='content'>" . $boxstuff . "</span>\n";
    }
}



Egal, wio ich es eingeseetzt hab - auch komplett separat ...

... es sitzt immer oben links bzw. je nachdem mit der zusätzlichen Ausgabe (dort wo es eingabaut ist) wie im Posting weiter oben beschrieben.

Bin jetzt schon mal gespannt, was es wohl ist.  :morning:

Ich hab ja bereits die einzelnen Dateien erweitert, um auch übers Backend den Skyscraper direkt zu plazieren - hat alles gut gefunzt.

Bin zwar ein absoluter php-Dau, aber wenn irgend wo eine Beschreibung steht - auch wenn wie mit dem Skyscraper noch ein bisschen was gefehlt hat - dann bekomm ich das normal trotzdem hin.

Nur hier weis ich nun nicht mehr weiter.  :gruebel:

Gruß
Ernst
User unter sich. Hier wird man geholfen.

JoergK

Hoi ;)

Wie ich es mir dachte ... Du machst in der Datei Ausgaben per echo. Dies passiert aber zu einem Zeitpunkt, an dem das Theme bzw. dessen Ausgabe noch vorbereitet wird. Und somit steht Deine Ausgabe dann im Browser oben vor der eigentlichen Seitenausgabe.

Änder Deine Datei mal wie folgt ab:
<?php

function mx_mtm_filescript()
{
    
$out '';
    
$erste_datei "1";
    
$letzte_datei "10";
    
$datei_endung ".txt";

    
$datei_pfad "mtoolsm/files/";

    
$random mt_rand($erste_datei$letzte_datei);
    
$datei_name $random.$datei_endung;
    
$content file ($datei_pfad.$datei_name);
    foreach (
$content as $line) {
        
$out .= $line;
    }
    return 
$out;
}

?>


In der functions.php vom Theme benötigst Du jetzt nur noch den Code aus Deinem ersten Beitrag:
<?php

include('mtoolsm/filescript.php');

/**
 * Definition der jeweiligen Platzhalter und deren Ersetzungen
 */
function theme_define_placeholders()
{
    global 
$themesetting;
    
$part[] = array("{VIEWBENCH}"mxViewBench());
    
$part[] = array("{FOOTMESSAGE}"footmsg(10));
    
$part[] = array("{CURRENTPATH}"mx_theme_currentpath());
    
$part[] = array("{SEARCHFORM}"mx_theme_searchform());
    
$part[] = array("{LOGINFORM}"mx_theme_loginform());
    
$part[] = array("{SHOWDATE}"mx_show_date());
    
$part[] = array("{SHOWTIME}"mx_show_time());
    
$part[] = array("{SHOWTOTALUSER}"mx_total_user_online());
    
// die Navigationsbuttons im header, Quelle in settings.php
    
foreach ($themesetting['headnav'] as $i => $link) {
        
$part[] = array('{MENUITEM_' $i '}''<a href="' $link['link'] . '"><span>' strtoupper($link['title']) . '</span></a>');
    }
    
// Banner anzeigen
    
$part[] = array("{BANNER1}",   mx_themebanner(1)         ); #HeaderBanner
    
$part[] = array("{BANNER2}",   mx_themebanner(2)         ); #FooterBanner
    
$part[] = array("{BANNER7}",   mx_themebanner(7)         ); # Skyscraper
    
$part[] = array("{BANNER6}",   mx_themebanner(6)         ); # rechter Banner
    // weitere Beispiele dazu
    // $part[] = array("{VIEWMXCOPY}",                  mxViewCopyright());
    // $part[] = array("{VIEW_DATE}",                   mxThemeShowDate());
    // Eigene Platzhalter
    
$part[] = array("{FILESCRIPT}"mx_mtm_filescript());
    return 
$part;
}

?>



und schon sollte es funzen.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

emet1

Ja super, G....  :cul:

Funzt  :BD:  :BD:  :BD:

Dankeschön.

Soweit kann ich in PHP nicht denken. das reicht nur für Sachen, die nur ein paar Zeilen lang und leicht zu verstehen sind.


Ich habe jetzt nur das Problem, das ich ein paar solcher Miniscripte auf Dauer einsetzen möchte und da hab ich jetzt mal geschaut und verstehe da nur nicht so ganz, wie ich da das Echo ersetzen soll - ist etwas anders aufgebaut.

Noch größeres Problem ist ein Script, in dem gar kein Echo-Aufruf erfolgt, sondern eigentlich nur wieder include und if / else. Nur leider hat der Script das gleiche Problem wie der Filescript.

Es sind alles Randomscripte bzw. Scripte zur Anzeige einer Wochentagsdatei. Anreden nach Uhrzeit. Erscheinen von Inhalten nach Datumsangabe, Zeitangabe etc.

Ich hab die Scripte (mit meinen Kenntnissen) so knapp (sieht man am Filescript), so einfach und so funktionsfähig wie es geht gemacht. Nur innerhalb des gesamten Pragma, dda werd ich wohl meine Probs haben.

Habe sie schon in anderen Systemen eingesetzt - da war wohl keine Hürde drin.

Andere Frage - gibt es eine Möglichkeit, direkt in der Theme.html einen php-include einzugeben und daamit diese Probs zu umschiffen oder würde es dann genau so auch passieren.

Andere Lösung - wenn es nicht gehen sollte, kannst Du mir bei den (sind ja wohl immer nur die kleinen Änderungen, die man können muss) kleinen Änderungen helfen. Wir könnten dann diese kleinen Zusatzscripte hier mit Einbauanleitung (kann ich ja machen) den anderen Usern zur Verfügung stellen.

Evtl. kann sie der eine oder andere gebrauchen. Benötige bei sich wiederholenden Schritten ja nur den ersten Step und kann den Rest selbst fertig stellen.

Viele Grüße
Ernst
User unter sich. Hier wird man geholfen.

JoergK

Hoi  ;)

Zitat
Soweit kann ich in PHP nicht denken. das reicht nur für Sachen, die nur ein paar Zeilen lang und leicht zu verstehen sind.
Dann ist der Zeitpunkt gekommen, sich intensiver mit PHP auseinander zu setzen. In meiner Signatur findest Du einige hilfreiche Links. Desweiteren solltest Du auch diesen Links Deine Beachtung schenken:


Zitat
Andere Frage - gibt es eine Möglichkeit, direkt in der Theme.html einen php-include einzugeben und daamit diese Probs zu umschiffen oder würde es dann genau so auch passieren.
Das geht - im Regelfall - gar nicht, derweil die theme.html eine HTML-Datei ist und ein in dieser Datei vorhandener PHP-Code nicht vom Parser interpretiert würde und somit als Quellcode an den Browser geschickt würde, der diesen dann als Text zur Anzeige bringt.

Zitat
Andere Lösung - wenn es nicht gehen sollte, kannst Du mir bei den (sind ja wohl immer nur die kleinen Änderungen, die man können muss) kleinen Änderungen helfen.
Nicht pauschal, da es Dir wohl wenig hilft, wenn ich Dir fertige Lösungen präsentiere. Schau Dir doch einfach mal meine Änderungen etwas genauer an und Versuch herauszufinden, was diese machen. Schnapp Dir dann eins der anderen "kleinen" Scripte und versuch das ermittelte/gelernte darin umzusetzen. Wenn es dann an ner Stelle hakt, meldeste Dich mit einem neuen Beitrag und dem Code. Ich bin überzeugt, es werden sich einige aus der Gemeinschaft bemühen, Dir zu helfen. Sollte sich wider Erwarten keiner melden, geb ich dann gerne auch noch mal nen paar Tips ab. ;)

Da das eigentliche Problem gelöst wurde, mach ich diesen Thread zu.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody