Kalender Scroll Block in den Header einbinden: Geht das ?

Begonnen von breakdancer, 23 August 2007, 16:42:11

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

breakdancer

Hallo Ihr Lieben,

mal wieder eine Frage von mir bezüglich einer Änderung am Theme.

Wie ihr auf meiner Seite www.kirmes-und-volksfest.de seht, habe ich unterhalb der Mitteilungen den Block "Calender_centerlist_scroll" eingebunden.

Ich möchte diesen Block nun aber gerne woanders haben - und zwar direkt zwischen dem jeweiligen großen Themebild und dem darunterliegenden bunten Balken, auf voller 1024er Breite.

Ist das möglich, den Scrollenden Kalenderblock dort einzufügen ?

Liebe Grüße

Markus

breakdancer

Hey,

ich schieb ja echt net gerne... Aber das Thema wäre mir echt wichtig.

Mag da jemand mal ne Aussage zu treffen ?

Liebe Grüße

Markus

siggi

Ich würde syntax konform das javascript in den header unterbringen (z.b. in der includes/myheader.php)
und den div block, in dem das script startet, bei deinem Theme in den themeheader-bereich einbauen.

beispiel :

am ende deiner includes/myheader.php :

...
echo '<script type="text/javascript" src="includes/ajax_tabs/ajax_smf_news.js"></script>';

eintragen, und den div block :


<!-- block-Calendar_centerlist_scroll.php output start -->
....


setzt du in den themeheaderbereich.

apropo syntax: deine seite hat heftig viele syntaxfehler (W3C, was ist das ?  ;D )
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Hi Siggi  ;)

ja wenn ich das wüsste... Ich hab schonmal einen Tag Session gemacht und die gröbsten Schnitzer aus dem Quelltext rausgeholt. Ich weiss auch nicht, woran das liegt, es war bei mir von Anfang an so, sogar wo ich noch nicht so viel im HTML rumgebastelt hatte... Ich werde mich da dieser Tage nochmal kümmern. Danke für den Tip !

Was den Block angeht... Hast Du Dich da verschrieben ? In die myheader.php soll das Script vom ajax_tabs SMF-News Block rein ? Hat die denn etwas mit dem Centerlist scroll Block zu tun ?

Und in die Themeheadergeschichte (also in die theme.html (?) kopiere ich dann einfach den Code von der block_centerlist_scroll, ist das richtig ? Muss ich da nicht vorher noch ne Tabellenspalte für definieren ?

Ich weiss, ich stelle wieder zu viele Fragen... *g*

Liebe Grüße

Markus

siggi

ZitatHast Du Dich da verschrieben ? In die myheader.php soll das Script vom ajax_tabs SMF-News Block rein ?
Nein, hab ich nicht. Es ist ein Javascript und das gehört eigentlich in den Header einer Seite:
Wenn du mal in den Quellcode dieses Javascripts reinschaust, kannst du sehen, das es keine
direkte Anweisung beinhaltet, sondern definiert lediglich  Funktionen, die dann später
aufgerufen werden.
So wird eine html-seite richtig aufgebaut :

<html>
  <head>
   # metatags, linktags, styles, scripts, etc..
  <head>
   <body>
    # die eigentliche seite 
  </body>
</html>


ZitatMuss ich da nicht vorher noch ne Tabellenspalte für definieren ?
Das hängt eindeutig von der Struktur des themeheaders ab.
Beispiel:

:...
<table>
  <tr>
   <td>Ein Logo zum Beispiel</td>
  </tr>
  <tr>
   <td>
    <div>* Hier könnte der php-Quellcode vom block_centerlist_scroll stehen</div>
   </td>
  </tr>
  :...

* der inhalt deines blocks, der in der variable $content steht
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Hi Jörg,

hier komme ich jetzt definitiv durcheinander. Das geht schon mal gar nicht...  ;)

Also, das Javascript habe ich jetzt in die myheader.php eingebunden.

Aber beim eigentlichen Einbinden in die theme.html komme ich jetzt mal grad gar nicht weiter.

Das "$content=" steht gleich einigemale im Blockquelltext drin. Eins, wo das Javascript aufgerufen wird, habe ich jetzt nicht entdeckt....

Erklär doch bitte nochmal, welches "$content=" ich nehmen muss und warum ausgerechnet dieses...

Liebe Grüße

Markus


breakdancer

Hi,

bitte nicht böse sein wegen schieben jetzt...

Wollte nur, dass die Sache hier nicht untergeht, es ist mir recht wichtig...

Mag jemand sich die Mühe machen und mir nochmal helfen, bitte ?

Liebe Grüße

Markus

hausmeista

gibt es da nicht irgendwas mit der <include> Funktion? wo man dann irgendwie nur das entsprechende Modul laden muss??Iich denke ich habe so etwas schon mal gehört, bin mir aber selbst nicht sicher. Versuch doch auf www.laanix.de , denn das 2FCMS arbeitet auch auf der Grundlage von Nuke 5.5
Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de

siggi

Ok ich sehe grad, das geht nicht so mit dem includen wie bei meinen Theme's. 
Also, schau in die functions.php von deinem mx-rainbow teil.
da fügst du folgendes am Ende hinter dem letzten $part[] =.. und vor dem 'return' in die function theme_define_placeholders() ein:

function theme_define_placeholders()
{
# hier stehen schon viele $part[]  array's
 
  include("block-Calendar_centerlist_scroll.php");  # oder wie der block auch immer heißt :-) 
  $part[] = array("{SCROLLKALENDER}", $content);
 

return $part;
}

Nun kannst du dein Scrollkalender frei positionieren (achte auf die korrekte HTML-Struktur), z.B. so:
Code (theme.html) Auswählen
:...
<table>
  <tr>
   <td>Ein Logo zum Beispiel</td>
  </tr>
  <tr>
   <td>
    <div>
     {SCROLLKALENDER}
    </div>
   </td>
  </tr>
  :...


Tipp: Probier es erstmal mit einem einfachen Testblock; ein simpler Block wäre
zum Beispiel (nicht so Ernst nehmen) :BD: :
Code (block-esel.php) Auswählen

<?
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

$content = 'Ich bin ein Esel';
?>

und setze dementsprechend in der theme_define_placeholders()-Funktion den "Platzhalter"
bzw. includiere die "blocks/block-esel.php".
Wenn du das hinbekommst, dann kannste es danach mit deinem Kalender-Block ausprobieren.
Viel Spaß beim Rumschrauben :)
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Hi Siggi  ;)

vielen Dank, wer´s mit der Anleitung nicht schafft, ist wahrlich ein Esel...  :BD:

Also bin ich einer. Nach zwei Stunden rumprobieren hab ich mich jetzt doch entschlossen, mich nochmal zu melden.

Er zeigt den Block nicht an. Laut HTML-Handbuch dürfte ich keinen Fehler gemacht haben, aber er mag das wohl doch so nicht.

Mal der Reihe nach:

In der functions.php habe ich den Block included (natürlich mit dem "echten" Blocknamen). Der Abschnitt function theme_define_placeholders() existiert bei mir nicht, ich habe das Ganze in den Abschnitt function theme_replace_start($template) reingepackt. Sieht jetzt so aus:

      .......
$part[] = array("{PHEIGHT}", photoheight ($GLOBALS['photoheight']));
include("block-Calendar_centerlist_scroll.php");  # Definition für die Anzeige des Scrollkalenders 
  $part[] = array("{SCROLLKALENDER}", $content);

return theme_replace_parts($template, $part);


Das sollte ja okay sein.

Und jetzt das einbinden in die theme.html... Ich habe mir die Stelle ausgesucht, direkt nach dem unteren roten Balken - dort wird vorher noch die Anzeige des aktuellen Seitenpfades im Spacer dafiniert:

<tr>
    <td colspan="2" bgcolor="{TCOLOR}" height="17" style="border-left: 1px solid #ffffff; border-right: 1px solid #ffffff;"><div id="pathview">&nbsp;{CURRENTPATH}</div></td>
  </tr>
<tr>
   <td>
    <div>
     {SCROLLKALENDER}
    </div>
   </td>
  </tr>
  <!-- END no_photo_table -->


Was mache ich denn falsch, dass der Block dennoch nicht angezeigt wird ?

Etwas ratlose Grüße

Markus

siggi

#10
du musst auch auf den richtigen Pfad beim includieren des Blocks achten  :crazy:

include("blocks/block-Calendar_centerlist_scroll.php");  # Definition für die Anzeige des Scrollkalenders 

Davon ab, das dein Theme weiterhin ein "Kuddelmuddel" :BD: ist, hab ich es zum
laufen gebracht. Zu sehen hier auf meinem Host:

http:/ /xxx.xxx
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

#11
Hey !

ein Kuddelmuddel  :puzzled:  :BD:

Juchu, danke für den Tip, der Scroll-Block läuft oben drin...

Wie kann ich denn jetzt die Breite so ändern, dass er tatsächlich über die gesamte Themebreite von 1024 Pixeln läuft ? Da sollte ich jetzt ne Table aufmachen in der Breite und da den Scrollblock einfügen, oder ?

Laut meinem HTML-Buch wirkt sich aber die Eingabe direkt auf die Anzeige aus.
Was mache ich nun schon wieder falsch ?

Das Theme auf Deinem Host kann ich leider nicht anschauen, da anscheinend per .htaccess geschützt  ;)

Liebe Grüße

Markus

siggi

Ich hatte ja noch dein theme. So läuft der "Scroller" in deinem tollen
Kirmes-Logo. Musst mal ein wenig ausprobieren. ;)

:
:
<!-- START no_photo_table -->

  <tr>

    <td height="{PHEIGHT}" colspan="2" valign="bottom" style="background-image:url(images/{PHOTOS});background-repeat:no-repeat;background-position:center center; border-top: 1px solid #ffffff;border-bottom: 1px solid #ffffff;">

      <table width="100%" border="0" cellspacing="4">

        <tr>

          <td><img src="images/spacer.gif" width="966" height="1" alt=""></td>

        </tr>

       
<tr><td>{SCROLLKALENDER}</td></tr>

<tr>

          <td><div align="right" style="font-family: Georgia, Times New Roman, Times, serif; letter-spacing: 3px; font-size: 18px; color: {PSLOGANCOLOR};">{PSLOGAN}</div></td>

        </tr>


      </table>

    </td>

  </tr>

  <tr>

    <td colspan="2" bgcolor="{TCOLOR}" height="17" style="border-left: 1px solid #ffffff; border-right: 1px solid #ffffff;"><div id="pathview">&nbsp;{CURRENTPATH}</div></td>

  </tr>



  <!-- END no_photo_table -->
:
:
Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Hmmm,

danke !  :BD:

Wobei ich das nicht ganz verstehe. Bei Deiner Version läuft der Scroller in der Tat über die gesamte Themebreite, fängt also rechts im Bild an und hört links an der Bildkante auf.

Sobald ich den entsprechenden Part aber nach unten setze, so wie es am Anfang auch war, fängt der Scroller viel weiter rechts erst an, also läuft von dreiviertel der Seite erst los nach links.

Aber egal welchen Breitenwert im Theme ich ändere, der Scroller läuft nie über die gesamte Themebreite wie bei Dir.

Wo mache ich den logischen Fehler ?

Liebe Grüße

Markus

JoergK

Zitat von: breakdancer am 13 September 2007, 11:38:22
Der Abschnitt function theme_define_placeholders() existiert bei mir nicht, ...
Das liegt daran, dass Du eine alte Version vom mx-rainbow verwendest.  ;)
Zitat von: Deine verwendete Version$Source: /home/cvs/pragmamx/stable/themes/mx-rainbow/theme.html,v $
$Revision: 1.15 $
$Author: henned $
$Date: 2005/12/03 08:32:13 $

* $Source: /home/cvs/pragmamx/stable/themes/mx-rainbow/functions.php,v $
* $Revision: 1.17 $
* $Author: MarcoA $
* $Date: 2005/12/02 14:59:44 $

Zitat von: Die aktuell Version$Source: /home/www/dps3311/home/cvsroot/pragmamx/pragmamx_01/themes/mx-rainbow/theme.html,v $
$Revision: 1.17 $
$Author: tora60 $
$Date: 2007/03/31 18:02:02 $

* $Source: /home/www/dps3311/home/cvsroot/pragmamx/pragmamx_01/themes/mx-rainbow/functions.php,v $
* $Revision: 1.25 $
* $Author: tora60 $
* $Date: 2007/03/06 17:53:55 $



Zitat von: breakdancer am 13 September 2007, 16:13:55
Wo mache ich den logischen Fehler ?

Schau mal in die theme.html, Zeilen ~90-100
  <tr>
    <td colspan="2" bgcolor="{TCOLOR}" height="17" style="border-left: 1px solid #ffffff; border-right: 1px solid #ffffff;"><div id="pathview">&nbsp;{CURRENTPATH}</div></td>
  </tr>
  <tr>
    <td>
      <div>
        {SCROLLKALENDER}
      </div>
      <br>
    </td>
  </tr>

Da sieht man, wo's hakt: Die Tabellenzelle mit der Pfadangabe drin geht über 2 Spalten
<td colspan="2" ...
In der von Dir eingefügten Tabellenzeile hat die Zelle jedoch nur die Breite der ersten Tabellenzelle
<td> ...

Änder Dein Eingefügtes mal auf das
  <tr>
    <td colspan="2">
      <div>
        {SCROLLKALENDER}
      </div>
      <br>
    </td>
  </tr>

Ich hab's jetzt nicht getestet, sollte Dein Problem aber beseitigen.  ;)


Gruß,
Jörg


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

siggi

Wenn man an Gras zieht wächst es auch nicht schneller.

breakdancer

Oh je, ihr zwei...

es tut mir furchtbar leid, ich hab´s einfach net gesehen... Hab leider nur in den Breitenangaben rumgemacht und die Anzahl der Tabellenspalten vergessen bzw. übersehen...

Mensch, da verliert man auch schnell den Überblick.

Jedenfalls läuft es jetzt exakt so wie es sein sollte.

Euch allen hier für eure Geduld und Ausdauer ein herzliches Dankeschön.

Einfach klasse Support, auch über das normale Maß hinaus.

Liebe Grüße

Markus