You are not logged in.

wcf.regNote.message

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

1

Thursday, September 6th 2007, 6:29am

PHP Includen

Hey.

Ich hab da mal ne doof frage.
Wenn ich in einer PHP z.b. eine Galerie "includen" will... Wie müsse ich das machen? Bis jetzt mach ich das immer per iframe was aber logischerweiße nicht so der bringer ist.


<?php get_header(); ?>

<?php get_...galerie/index.php; ?> <-Galerie?


<?php get_sidebar(); ?>

<?php get_footer(); ?>

Ich bekomm das einfach nicht hin ;-(

Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Thursday, September 6th 2007, 9:55am

Das funktioniert auf die Art auch nicht. Du kannst ein anderes PHP Skript nicht einfach so irgendwo includen. Zwar eigentlich schon aber als erstes müssen mal alle verwendeten Variablen berücksichtigt werden. Wenn beide Skripte mit den gleichen Variablen arbeiten geht das schon mal nicht. Außerdem muss in dem Skript welches includet wird die Ausgabe abgefangen werden und darf erst erfolgen wenn beide Skripte abgearbeitet sind. Da ist also auf jeden Fall vieles dran zu ändern.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

3

Thursday, September 6th 2007, 12:42pm

Das hab ich mir leider schon fast gedacht.... Gibt es ne andere möglichkeit eine Page einzubinden. Ich kenn nur include und iframe.....

Prometheus

Administrator

Posts: 3,278

  • Send private message

4

Thursday, September 6th 2007, 4:25pm

Naja Du kannst noch normale Frames benutzen und darüber irgendwelche separaten Inhalte zusammen fassen aber sonst fällt mir nichts ein wie man das ordentlich macht. Zumindest nicht ohne richtig Aufwand.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

flo

Unregistered

5

Thursday, September 6th 2007, 5:25pm

ich werf mal den begriff division container ins gespräch...
ich bin nicht so der frame freund, daher mache ich sowas immer mit div classes...wobei frames ja auch funzen....

und zum include:
notfalls kann man ja in dem einen script alle variablen mit einem präfix aussstatten.
in einem php-editor kann man zb mit der suchfunktion nach "$" suchen und das ersetzen mit "$_scriptname_". ist also alles kein problem....

dann ersetzt du mit dem suchbot im einen script einfach alle variablen durch $scriptname_blabla und dann machste in die index.php einfach in ein include.

so bleibt zb hier:

$id
das id stehen und das $ wird ersetzt durch "$fotogallerie_"

dann steht anschließend: "$fotogallerie_id" da ;)

Prometheus

Administrator

Posts: 3,278

  • Send private message

6

Thursday, September 6th 2007, 5:51pm

Naja gut aber ich glaub mit den Variablen alleine das wird nicht genügen. In dem Skript für die Bildergalerie sofern es ein eigenständig laufendes Skript ist hast Du auf jeden Fall irgendwelche Ausgaben mit echo oder sowas und da bekommst Du dann Fehlermeldungen. Was mir noch einfallen würde ist die Ausgabe zu unterbrechen (geht mit PHP) und anstatt ausgeben zu lassen in eine Variable lenken und dann diese Variable einfach innerhalb einer Tabelle einblenden lassen. Das würde noch funktionieren und der Aufwand wär tatsächlich überschaubar. Funktioniert aber auch nur wenn es um die Ausgabe geht. Navigation auf die Art wird auch wieder nichts werden.

@flo
Erklär mal bitte etwas genauer was Du mit division Container meinst. Ein Div was sich verhällt wie ein Frame?
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

flo

Unregistered

7

Thursday, September 6th 2007, 11:47pm

ja eine DIV class halt
ich hab meine seiten damals immer mit DIV classes unterteilt, denn frames haben mir nie so gefallen und mit %-angaben kann man die divs auch wie frames aufbauen und verhalten lassen...

ich hatte nur irgendwann probs mit frames und php gehabt und bin deshalb auf division container umgestiegen...

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

8

Friday, September 7th 2007, 6:44am

Das klingt interesannt. Wie kann ich mit DIV´s die Galerie einbinden?

flo

Unregistered

9

Friday, September 7th 2007, 5:41pm

hast da ja dann zentral in einer separaten CSS-Datei die DIV Class definiert. wie das geht verrät dir selfhtml, habs zu lang nich mehr gemacht.... und in deiner index.php implementierst du das dann einfach mit <DIV CLASS='blabla'> dein inhalt</DIV> .... so irgendwie war das... und da machste einfach den include befehl rein. sofern das halt alles klappt mit den problemen die prometheus angesprochen hat.

Source code

1
2
3
4
5
<?
echo "<DIV CLASS='blabla'>";
include('./bildergallerie/index.php');
echo"</DIV>";
?>


falls du die bildergallerie wie im beispiel oben in nem eigenen ordner hast mit mehreren dateien, musst du ggf. die pfade etc alles anpassen...

This post has been edited 1 times, last edit by "flo" (Sep 7th 2007, 5:42pm)


Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

10

Friday, September 7th 2007, 6:51pm

@flo.
Deine Lösung klappt nur bedingt. Ich bekomme zwar die Galerie angezeigt, aber nur ohne Bilder.

Quoted

Original von Prometheus
Funktioniert aber auch nur wenn es um die Ausgabe geht. Navigation auf die Art wird auch wieder nichts werden.


Eine Ausgabe würde reichen. Also ich will einen Copperminegalerie in ein Wordpress integrieren. Die Bildergalerienavigation kann und soll weiterhin über das Copperminesystem laufen. Ich will lediglich die Galerie in eine Seite binden....

Source code

1
<iframe src="../../galerie/index.php" frameborder="0" height="1600" width="100%">Sorry, your browser doesn't support iframes</iframe>


Das "height" stört mich, das jede Kategorie in der Galerie unterschiedlich groß ist und so hätt ich den Effekt, dass bei wenigen Bilden, die Seite super hoch wird und dadurch vielen leeren Raum besitzt.

This post has been edited 1 times, last edit by "Hexo" (Sep 7th 2007, 6:53pm)


Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

11

Monday, September 10th 2007, 6:28am

Und kann mir keinen einen Tipp geben, wie ich das elegant lösen kann, dass sich die Seitehöhe dynamsich anpasst?

Prometheus

Administrator

Posts: 3,278

  • Send private message

12

Monday, September 10th 2007, 8:27am

Doch, das geht. Mit JS auf jeden Fall. Das heißt Du kannst mit JS den IFrame dynamisch vergrößern oder verkleinern. Ich weiß nur grade nicht wie die Größe von dem Inhalt ermittelt wird damit der Frame auf die richtige Größe angepasst werden kann.

Zuerst mal muss der IFrame eine ID bekommen. Dann erstellst Du eine kleine JS Funktion in der Art wie folgendes

Source code

1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
<!--
function getcontentheight() {
Hier muss was rein, was die benötigte Höhe des IFrame ermittelt.
resizeiframe(height);
}
function resizeiframe(hight) {
if(document.getElementById('iframe').height<height || document.getElementById('iframe').height>height) document.getElementById('iframe').height = height;
}
//-->
</script>


Und jetzt noch in den body Tag onload(getcontentheight) und das wars eigentlich schon.

Ich muss dazu sagen ich bin absolut kein Ass in Sachen JS aber das das geht ist auf jeden Fall klar.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

13

Monday, September 10th 2007, 9:01am

Danke schön. Das muss ich heute abend mal testen. Werde dann direkt feedback geben.

was muss denn bei "Hier muss was rein, was die benötigte Höhe des IFrame ermittelt" rein?

100% oder wie?

Prometheus

Administrator

Posts: 3,278

  • Send private message

14

Monday, September 10th 2007, 10:06am

Nein, der Frame muss ja dynamisch angepasst werden. Das heißt wenn Du 20 Bilder untereinander hast muss der Frame länger sein als wie wenn es nur 10 sind. Nur ich weiß nicht wie man das quasie beim Laden ermitteln will. Das heißt ich weiß grad garnicht genau wie ich die Länge eines Inhaltes ermitteln kann.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

15

Monday, September 10th 2007, 8:38pm

mhhh................

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
<!--
function getcontentheight() {
Hier muss was rein, was die benötigte Höhe des IFrame ermittelt.
resizeiframe(height);
}
function resizeiframe(hight) {
if(document.getElementById('iframe').height<height || document.getElementById('iframe').height>height) document.getElementById('iframe').height = height;
}
//-->
</script>

<iframe src="../../galerie/index.php" height="100%" width="100%">Sorry, your browser doesn't support iframes</iframe>


Das klappt so nicht. Wie muss das korrekt aussehen?

This post has been edited 1 times, last edit by "Hexo" (Sep 10th 2007, 8:39pm)


Prometheus

Administrator

Posts: 3,278

  • Send private message

16

Monday, September 10th 2007, 9:00pm

Zuerst mal muss der IFrame eine ID bekommen. Das heißt so sieht das korrekt aus.

Source code

1
<iframe src="../../galerie/index.php" height="100%" width="100%" id="iframe">Sorry, your browser doesn't support iframes</iframe>

Außerdem muss wie ich gesagt hatte in die Funktion "getcontentheight" noch irgendwas rein, was vor der Ausgabe der Seite die benötigte Höhe ermittelt und anschließend die Funktion "resizeiframe" aufruft.

Um zu testen ob überhaupt was geht änder die eine Funktion mal folgendermaßen ab.

Source code

1
2
3
4
function getcontentheight() {
var height = '2000';
resizeiframe(height);
}


Und im Body Tag platzierst Du noch den Aufruf des ganzen. So sollte das ausschaun.

Source code

1
<body ... onLoad="getcontentheight();" ...>


Aber wie gesagt, ohne die Funktion mit der die benötigte Höhe ermittelt wird bringt Dir das auch nichts da es ohne die Möglichkeit nicht dynamisch wird.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

17

Tuesday, September 11th 2007, 6:10am

Also ich hab da alles mögliche ausprobiert und egal wie und was ich gemacht habe, das resultat war gleich: Nix. Keine Reaktion.

Kennst Du Dich mit dem Wordpress aus? Aus dem Wordpress kann man sehr leicht ein CMS machen und das mach ich ja gerade. Ich will in eine statische Seite (kann man im ACP Menü) die Galerie erstellen. Da schreib ich auch den ganzen Code rein. Ich habs auch schon im <head></head> Bereich ausprobiert.


EDIT:

Mit

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script language="javascript">
<!--
function iFrameHeight() {
if(document.getElementById && !(document.all)) {
h = document.getElementById('iframename').contentDocument.body.scrollHeight;
document.getElementById('iframename').style.height = h;
}
else if(document.all) {
h = document.frames('iframename').document.body.scrollHeight;
document.all.iframename.style.height = h;
}
}
//-->
</script>

im Headbereich +

Source code

1
<iframe scroll="auto" scrolling="no" frameBorder="0" src="http://www.emsfriends.com/galerie/index.php" marginHeight="0" marginWidth="0" name="iframename" style="width: 100%" id="iframename"></iframe>


klappt das so schonmal sehr gut, allerdings NUR IM IE 6 + im IE 7 und im OPERA. Der Firefox irgnoriert das komplett....

Achso, im Prinzip könnte man das Thema ja schon fast in die Javascriptecke reinschieben, oder?

This post has been edited 2 times, last edit by "Hexo" (Sep 11th 2007, 8:10pm)


Prometheus

Administrator

Posts: 3,278

  • Send private message

18

Thursday, September 13th 2007, 8:22am

Nun das es im IE klappt und sonst nicht schiebe ich dann mal darauf das der IE immer ein klein wenig was anders macht wie alle anderen. Grade wenn es um JS geht arbeitet der anders. Deswegen wird oft auch geprüft was für ein Browser vorhanden ist und dann entsprechend die Funktion so oder so gemacht.

In der Funktion wo "contentDocument.body.scrollHeight" steht versuch da mit folgendem was passiert

Source code

1
h = document.getElementById('iframename').contentDocument.body.offsetHeight;

Ob das hilft weiß ich nicht aber damit sollte es funktionieren AUSSER im IE für Mac :D
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Hexo

Intermediate

  • "Hexo" started this thread

Posts: 297

  • Send private message

19

Thursday, September 13th 2007, 7:30pm

Leider kein Effekt beim Firefox.

Davon mal abgesehen. Wie würdest Du eine fremde Seite in eins Deiner Projekte einbinden? Vielleicht gibt es ja noch ne besser lösung?

Prometheus

Administrator

Posts: 3,278

  • Send private message

20

Thursday, September 13th 2007, 7:57pm

Quoted

Original von Hexo
Leider kein Effekt beim Firefox.

Davon mal abgesehen. Wie würdest Du eine fremde Seite in eins Deiner Projekte einbinden? Vielleicht gibt es ja noch ne besser lösung?

Garnicht. Entweder die Software die ich nutze bietet mir solch eine Erweiterung wie ich sie haben möchte oder ich nutze ein anderes System. Wenn mir kein System das bietet was ich will oder das System mein Vorhaben nur zum teil deckt und ich trotzdem wieder jede menge selbst erweitern muss dann erstelle ich das gesamte System selbst und baue es dann ganz genau so wie ich es haben will. Meld dich mal bei mir dann zeig ich Dir mal mein Projekt wo ich grade dran schraube das ist z.B. bis ins letzte Eckchen selbst gebaut.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

wcf.user.socialbookmarks.titel