Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Link aus PHP-Include umleiten in ein Node

Eingetragen von wogga (19)
am 29.06.2010 - 15:24 Uhr in
  • Modul-Entwicklung

Hallo,

ich inkludiere mir in einem Node eine PHP-Datei, besser gesagt die Pixlie-Bildergalerie:

<?php
ob_start
();
include_once
"http://xxxxx/drupal/pixlie/galerie.php";  
$output = ob_get_contents();
ob_end_clean();
return
$output;
?>

Das funktioniert soweit auch alles einwandfrei. Nur die Sache mit den Unterordner klappt nicht.
Hierzu werden mir über einen Foreach-Schleife in der galerie.php die Ordner aufgelistet.

<?php foreach ($pixlie_table_dir as $folder){ ?>
      <li>
         <a href="//xxxxx/drupal/pixlie/galerie.php<?php echo $folder['link_get']; ?>">
         <?php echo $folder['name']; ?>
        </a>
      </li>
    <?php } ?>

Allerdings werden mir die Links immer in einem neuen Fenster geöffnet.
Wie schaffe ich es das ich die Linkausgabe umleite damit Sie im Content-Bereich von meinem Node ausgegben wird? Ist das überhaupt möglich?

Danke schonmal.

‹ Nur Book-Nodes für Buchgliederung verfügbar machen Modul zum Downloaden von Bildern ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum verwendest Du für dein

Eingetragen von Sense (1559)
am 29.06.2010 - 15:33 Uhr

Warum verwendest Du für dein Vorhaben nicht die Module Imagecache und ImageApi, die es Dir erlauben die gleiche Funktionalität wie Pixlie zur Verfügung zu stellen?
Willst Du nur eine Galerie unterhalt der Node ausgeben oder was genau hast Du vor?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Bilder MÜSSEN im

Eingetragen von wogga (19)
am 29.06.2010 - 15:44 Uhr

Die Bilder MÜSSEN im Hintergrund weiterhin in einer bestehenden Ordnerstruktur bleiben, somit scheiden fast alle Drupal-Galerien aus. Das Modul FastGallery kommt dem ganzen schon recht nahe, funktioniert allerdings nur sehr eingeschränkt (da Aktualisierung sehr lang und meine Bildermenge ist zu viel). Pixlie erfüllt alles was ich benötige, ist schnell und einfach. Außerhalb von Drupal funktioniert es 100%ig. Nur das Einbinden in Drupal will einfach nicht funktionieren, außer über iframe, allerdings entspricht das nicht genau meinen Vorstellungen da dann die Fancybox auch nur innerhalb des Iframe arbeitet. Auch den kompletten Inhalt der galerie.php in eine node einkopieren funktioniert nicht, hier scheitert es immer an einem Fehler bezogen auf die Foreach-Schleife.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Poste mal alle entsprechenden

Eingetragen von Sense (1559)
am 29.06.2010 - 15:48 Uhr

Poste mal alle entsprechenden Quelltexte aus den Dateien, sonst wird es schwierig sich ein Bild zu machen. Ein Link wo das Ganze zu sehen ist, wäre auch sehr hilfreich, wenn verfügbar.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Okay

Eingetragen von wogga (19)
am 29.06.2010 - 15:56 Uhr

Inhalt meiner Node:

<?php
ob_start
();
include_once
"http://srv-intranet/drupal/pixlie/galerie.php";  
$output = ob_get_contents();
ob_end_clean();
return
$output;
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Inhalt Galerie.php <!DOCTYPE

Eingetragen von wogga (19)
am 29.06.2010 - 15:57 Uhr

Inhalt Galerie.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Galerie</title>
<link rel="stylesheet" type="text/css" href="//srv-intranet/drupal/pixlie/jquery.fancybox/jquery.fancybox.css" media="screen" />
<script type="text/javascript" src="//srv-intranet/drupal/pixlie/jquery.fancybox/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="//srv-intranet/drupal/pixlie/jquery.fancybox/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="//srv-intranet/drupal/pixlie/jquery.fancybox/jquery.fancybox-1.2.1.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".fancy").fancybox();
});
</script>
<style>
// html, body {
// font: normal 11px Tahoma;
// color: #333;}
a {
outline: none;}
div#wrap {
width: 500px;
margin: 50px auto;}
img {
       border: 1px solid #CCC;
padding: 2px;
margin: 10px 5px 10px 0;}
</style>
  </head>
  <body>
 
<h1>Fotogalerie</h1>
    <?php
      $response_type
= 'php';   //Ausgabe auf php umstellen
     
include('pixlie.php'); //Einbinden von Pixlie
   
?>

 
<h2>Bilder</h2>
    <p>
    <?php foreach ($pixlie_table_file as $picture){ ?>
      <a rel="group" href="<?php echo $pixlie_table_env['path_pixlie'].$picture['link_get']; ?>_b<?php echo $picture['extension']; ?>" class="fancy">
        <img
          src="<?php echo $pixlie_table_env['path_pixlie'].$picture['link_get']; ?>_s<?php echo $picture['extension']; ?>"
          alt="<?php echo $picture['name']; ?>" />
      </a>
    <?php } ?>
    </p>

    <h2>Unterordner</h2>
    <ul>
    <?php foreach ($pixlie_table_dir as $folder){ ?>
      <li>
      <a href="//srv-intranet/drupal/pixlie/galerie.php<?php echo $folder['link_get']; ?>">      
          <?php echo $folder['name']; ?>
        </a>
      </li>
    <?php } ?>
    <?php if(count($pixlie_table_dir)==0){ echo '<li>Keine vorhanden</li>'; } ?>
    </ul>
  </body>
</html>

  • Anmelden oder Registrieren um Kommentare zu schreiben

(Kein Betreff)

Eingetragen von wogga (19)
am 29.06.2010 - 15:59 Uhr

Die Pixlie.php ist 100%ig Original wie man sie im Internet bekommt.

Einen Link zum Anschauen kann ich leider nicht bieten. Ist ein Intranet. :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich versuche das Ganze mal

Eingetragen von Sense (1559)
am 29.06.2010 - 16:03 Uhr

Ich versuche das Ganze mal nachzuvollziehen:

  • Du hast über "Inhalt erstellen" eine Node angelegt
  • Diese hast den Inhalt mit dem "include_once"
  • Das Eingabeformat hast Du auf "PHP" gestellt

Du willst aber, dass die Galerie als Deine Node angezeigt wird?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Genau so ist es. Die Bilder

Eingetragen von wogga (19)
am 30.06.2010 - 07:34 Uhr

Genau so ist es.
Die Bilder die direkt in der Galerie sind, also im Hauptordner nicht in Unterordnern, funktionieren auch wunderbar. Er geht zwar eigentlich auch auf eine externe Seite, aber da die Bilder mit der Fancybox geöffnet werden fällt das nicht auf.
Ich müsste nur irgendwie die Unterornderlinks umleiten in ein Node.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kannst Du zumindest mal

Eingetragen von Sense (1559)
am 30.06.2010 - 08:28 Uhr

Kannst Du zumindest mal Screenshots anhängen, damit ich mir mal ein genaues Bild davon machen kann was Du vor hast.
Ich denke dass ich einigermaßen nachvollziehen kann was Du vorhast.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kann ich machen

Eingetragen von wogga (19)
am 30.06.2010 - 08:41 Uhr

Bild1 zeigt: die Galerie nach dem Klick auf den Menüpunkt Test Galerie.
Die Fotos auf oberster Ebende werden dann mittels Fancybox auch richtig dargestellt.

Bild2 zeigt: nach einem Klick auf einen Unterordner öffnet sich einfach ein neues Browser-Fenster ohne Drupal.

Diese Unterordner-Links müsste ich umleiten damit die Ausgabe immer in Drupal sprich in einem Node dargestellt wird, so wie die oberste Ebene der Galerie auch.

AnhangGröße
galerie1.jpg 52.4 KB
galerie2.jpg 50.54 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

iframe ?

Eingetragen von sepp68 (444)
am 30.06.2010 - 08:45 Uhr

und wenn du die Gallery in einem iframe einbindest ?
siehe http://de.selfhtml.org/html/frames/eingebettete.htm

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dann funktioniert die

Eingetragen von Sense (1559)
am 30.06.2010 - 08:55 Uhr

Dann funktioniert die Fancybox nur über den IFrame, was oben schon einmal ausgeschlossen wurde.
Du musst die Generierung der Links so umschreiben, dass Du immer auf diese Node verweist und in einem GET Parameter den entsprechenden Ordner (ID, was auch immer) mitlieferst den Du anzeigen willst.
Dann sollte die Galerie sich auch innerhalb der Node anzeigen lassen.

Das Ganze ist natürlich nicht wirklich Drupal konform geschrieben.
Ich würde mir für diese Funktionalität ein eigenes Modul schreiben, das mir diese Funktionalität zur Verfügung stellt.

Wenn Interesse besteht können wir uns das näher ansehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Iframe

Eingetragen von wogga (19)
am 30.06.2010 - 08:56 Uhr

Iframe hat den Nachteil das meistens ein zweiter Scrollbalken dann hinzukommt und das die Fancybox dann auch nur innerhalb des Iframe arbeitet und große Bilder werden dann auch noch verkleinert da die Fancybox ja an die max. Iframe-Größe gebunden ist. Siehe Bild.

Wirkt sehr unpraktisch und ist auch nicht so schön wenn die Fancybox nicht den ganzen Browser nutzt.

AnhangGröße
iframe.jpg 166.6 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

brilliant gallery

Eingetragen von sepp68 (444)
am 30.06.2010 - 09:01 Uhr

Hst du dir http://drupal.org/project/brilliant_gallery schon mal angesehen ?
Arbeitet auch mit einem Ordner-System.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab ich mir auch schon mal

Eingetragen von wogga (19)
am 30.06.2010 - 12:26 Uhr

Hab ich mir auch schon mal angeschaut. War meines Erachtens aber ziemlich buggy, gefiel mir nicht so gut. Außerdem wars relativ langsam.
Pixlie ist das wesentlich schlanker und schneller.

@Sense
Könntest du mir mal ne kleine Hilfestellung geben wie der Aufbau des Links auszusehen hätte?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Beispiel: Deine Seite ist

Eingetragen von Sense (1559)
am 30.06.2010 - 12:47 Uhr

Beispiel:

Deine Seite ist unter dem Path "galerie" erreichbar.
Wenn Du "galerie" aufrufst kommst Du auf die Hauptseite, wo Deine aktuell funktionierende Galerie zu sehen ist.
Klickst Du nun auf einen Unterordner muss der Link auf die selbe Seite verweisen, nur zusätzlichen einen GET Parameter mit übergeben.
mit Clean-URL: <a href="http://domain.de/galerie?subfolder=untergalerie">Untergalerie</a>
ohne Clean-URL: <a href="http://domain.de/index.php?q=galerie&subfolder=untergalerie">Untergalerie</a>

Diesen Parameter "subfolder" müsstest Du dann weiter verarbeiten und der Galerie übergeben, so dass der entsprechende Unterordner geladen wird.

  • Anmelden oder Registrieren um Kommentare zu schreiben

file-get-contents

Eingetragen von sepp68 (444)
am 30.06.2010 - 14:57 Uhr

Du könntest den Inhalt vom Pixlie mittles file-get-contentsholen.

Aber Achtung: Pixlie verwendet wie Drupal den das Argument "q" in der URL deshalb in der Pixlie.php Zeile 164 ändern:

<?php

  
'http_var_name' => 'pixlie',                     //Name der Query-Variablen die per http_method uebergeben wird
?>

und dann eine Drupal-Seite erstellen mit folgendem Inhalt: (Eingabeformat: php-Code)

<?php

print file_get_contents('http://domain.de/pixlie-pfad/index.php?pixlie='.$_GET['pixlie']);
?>

dann noch im Theme in der page.tpl.php die CSS-Datei von pixlie im <head>einbinden !

  • Anmelden oder Registrieren um Kommentare zu schreiben

@sepp68 Bei deinem Vorschlag

Eingetragen von wogga (19)
am 30.06.2010 - 15:20 Uhr

@sepp68
Bei deinem Vorschlag erhalte ich genau das gleiche Ergebnis wie beim include welchen ich im ersten Post geschrieben. Galerie auf Hauptebene funktioniert, aber Unterordner werden weiterhin in einem neuen Fenster geöffnet.

@Sense
Deinen Vorschlag kapier ich irgendwie nicht so ganz. Vielleicht könntest du es mir etwas einfacher erklären..... :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Neues Fenster

Eingetragen von sepp68 (444)
am 30.06.2010 - 15:36 Uhr
Zitat:

Bei deinem Vorschlag erhalte ich genau das gleiche Ergebnis wie beim include welchen ich im ersten Post geschrieben. Galerie auf Hauptebene funktioniert, aber Unterordner werden weiterhin in einem neuen Fenster geöffnet.

ja, weil du ja den absoluten Pfad im Link angibst: (deine Galerie.php)


      <a href="//srv-intranet/drupal/pixlie/galerie.php<?php echo $folder['link_get']; ?>"> 
          <?php echo $folder['name']; ?>
        </a>

du solltest das Relativ machen


      <a href="<?php echo $folder['link_get']; ?>"> 
          <?php echo $folder['name']; ?>
        </a>

  • Anmelden oder Registrieren um Kommentare zu schreiben

DANKE!!!!

Eingetragen von wogga (19)
am 30.06.2010 - 15:47 Uhr

Du bist klasse!!! Das funktioniert ja tadellos! Danke. Vielen Vielen Dank.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 3 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 6 Stunden
  • Kannst doch auch alles direkt
    vor 3 Wochen 4 Tagen
  • In der entsprechenden View
    vor 3 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 4 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 21 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association