[Gelöst]Mit php eingebundenes Zufalsbild hat nen Falschen Hyperlink

Sidex

Joined: 2010-03-29
Posts: 7
Posted: Mon, 2010-03-29 11:12

Hallo in meiner webseite
www.hamburger-opel-freunde.de
habe ich mittels dem php code

<?php
/* You'll have to change the /gallery2/ thing in the following 2 lines probably */
require_once("../gallery2/embed.php");
$ret = GalleryEmbed::init(array('fullInit' => true, 'embedUri' => '/', 'g2Uri' => "gallery.hamburger-opel-freunde.de/main.php"));
if ($ret) {
print 'GalleryEmbed::init failed, here is the error message: ' . $ret->getAsHtml();
exit;
}
/*
* See "Site admin" -> "image block" for all available options. the parameters are the same
* as for the external imageblock
*/
list ($ret, $bodyHtml, $headHtml) = GalleryEmbed::getImageBlock(array('blocks' => 'randomImage',
'show' => 'none'));
if ($ret) {
print 'GalleryEmbed::getImageBlock failed, here is the error message: ' . $ret->getAsHtml();
exit;
}
/* $bodyHtml contains the image block. print it somewhere on your website */
print $bodyHtml;
/*
* $headHtml is not required. if you use imageframes for your imageblocks, you need to print
* $headHtml in the <head> section of your web page
*/
?>

eingefürgt .
Das zufallsbild wird ja auch richtig angezeigt soweit alles bestens !

Mein problem ist das wenn ich das bild anklicke nicht in die entsprechende gallery weitergeleitet wird sondern auf zb.
http://www.hamburger-opel-freunde.de/?g2_itemId=492
er müste allerdings auf
http://gallery.hamburger-opel-freunde.de/main.php?g2_itemId=492 in ein bestimmtes frame verlinken

kann mir da bitte jemand weiterhelfen ?
und bitte nicht über die Webseite nörgeln bin anfänger und gebe mein bestes :-)

 
DiZin

Joined: 2009-01-03
Posts: 222
Posted: Mon, 2010-03-29 13:12

Hab mir die Webseite mal angeschaut: Scheint ja alles nun zu funktionieren!

Nach deinem Posting hast du Gallery2 in einer Subdomain installiert, aber beim Anklicken eines Vorschaubildes wurde auf die Hauptdomain verlinkt.

Ich gehe davon aus, das war ein Konfigurationsfehler. Wie hast du das Problem gelöst?

BTW: Schau dir mal www.flashyourweb.com an. Ich kann mir vorstellen, da gibt's einiges was dir gefallen wird.

 
Sidex

Joined: 2010-03-29
Posts: 7
Posted: Mon, 2010-03-29 16:23

Hallo leider ist das problem der Zufallsbilder mit dem falschen Hyperlinks noch immer nicht behoben !
und ja die Gallery ist in einer Subdomain instaliert.

Also die Gallary leuft an sich einwandfrei
unter http://gallery.hamburger-opel-freunde.de

die startseite der HP
http://www.hamburger-opel-freunde.de/startseite/index_flash.php
dort sind rechts 2 Zufalls Vorschaubilder diese verlinken leider nicht zur Subdomain sondern wie du schon erkannt hast auf die Hauptdomain

leider habe ich nichts gefunden wo ich dieses ändern kann !
ich habe ja schon versucht im php script dieses zu ändern leider ohne erfolg oder ich weiß nicht wie :-)

 
DiZin

Joined: 2009-01-03
Posts: 222
Posted: Mon, 2010-03-29 19:50

Editiere config.php im Gallery2 Directory. Fast am Ende der Datei ändere die Zeile auf:

$gallery->setConfig('baseUri', 'http://gallery.hamburger-opel-freunde.de/');
 
Sidex

Joined: 2010-03-29
Posts: 7
Posted: Tue, 2010-03-30 04:22

Hatte ich schon hier das ende meiner Config.php

* URL of Gallery codebase; required only for multisite install.
 */
$gallery->setConfig('galleryBaseUrl', '');

/*
 * This setting can be used to override Gallery's auto-detection of the domain-name,
 * protocol (http/https), URL path, and of the file & query string.
 * Most users can leave this empty. If the server is misconfigured or for very special
 * setups, this setting can be quite handy.
 * Examples (the positions of the slashes ('/') are important):
 *   override the path: $gallery->setConfig('baseUri', '/another/path/');
 *   override the host + path: $gallery->setConfig('baseUri', 'example.com/gallery2/');
 *   override the protocol + host + path + file:
 *           $gallery->setConfig('baseUri', 'https://example.com:8080/gallery2/index.php');
 */
$gallery->setConfig('baseUri', 'http://gallery.hamburger-opel-freunde.de/main.php');
?>

kann es sein das ich hier evt noch was ändern muß?
$gallery->setConfig('galleryBaseUrl', '');

 
DiZin

Joined: 2009-01-03
Posts: 222
Posted: Tue, 2010-03-30 17:16

galleryBaseUrl wird nur für Multisite Installationen verwendet. Wenn du so eine aufgesetzt hättest, so wüstest du das ganz sicher. Also, du musst an galleryBaseUrl wohl kaum etwas ändern. Ansonsten scheint mir auch alles zu funktionieren.

 
Sidex

Joined: 2010-03-29
Posts: 7
Posted: Tue, 2010-03-30 17:48

wenn du auf
http://www.hamburger-opel-freunde.de/startseite/index_flash.php

rechts auf die Zufallsbilder klickst landest du dann in den Gallery´n ?
oder wieder beim Intro von der HP?

Denn ich lande immer wieder Beim Intro

 
DiZin

Joined: 2009-01-03
Posts: 222
Posted: Tue, 2010-03-30 19:32

Ich hab bisher immer nur auf das linke Zufallsbild geklickt. Da klappt es, denn es ist im Rahmen der Gallery2.

Verwendest du für die rechten beiden Zufallsbilder den Image-Block?

Was auch immer und da ihr ohnehin schon Flash verwendet schau dir dafür mal die Minislideshow von www.flashyourweb.com an.

 
Sidex

Joined: 2010-03-29
Posts: 7
Posted: Tue, 2010-03-30 21:16

Wie im ersten post geschrieben sind die beiden Rechten Zufalsbilder die auserhalb der Gallery liegen mittels dem php code

<?php
/* You'll have to change the /gallery2/ thing in the following 2 lines probably */
require_once("../gallery2/embed.php");
$ret = GalleryEmbed::init(array('fullInit' => true, 'embedUri' => '/', 'g2Uri' => "gallery.hamburger-opel-freunde.de/main.php"));
if ($ret) {
print 'GalleryEmbed::init failed, here is the error message: ' . $ret->getAsHtml();
exit;
}
/*
* See "Site admin" -> "image block" for all available options. the parameters are the same
* as for the external imageblock
*/
list ($ret, $bodyHtml, $headHtml) = GalleryEmbed::getImageBlock(array('blocks' => 'randomImage',
'show' => 'none'));
if ($ret) {
print 'GalleryEmbed::getImageBlock failed, here is the error message: ' . $ret->getAsHtml();
exit;
}
/* $bodyHtml contains the image block. print it somewhere on your website */
print $bodyHtml;
/*
* $headHtml is not required. if you use imageframes for your imageblocks, you need to print
* $headHtml in the <head> section of your web page
*/
?>

Eingefügt
Da diese Zufalsbilder auserhalb der Gallery dargestellt werden sollen !
nur das dieser Script leider falsch verlinkt um die Gallery zu Öffnen
Gibt es die möglichkeit den Script so zu verändern das er entweder auf
gallery.hamburger-opel-freunde.de zu verlinken oder auf
www.hamburger-opel-freunde.de/gallery2/

un die Minislideshow von www.flashyourweb.com werde ich mir mal genauer anschauen! kann ich den diese Slideshow Galler2 verlinken oder müssen dort die Bilder nochmals seperat hochgeladen werden ?

(Nachtrag)
Ach habe mir mal www.flashyourweb.com sehe ich das richtig das ich dafür erstmal Geeklog instalieren muß und dann G2Bridge damit ich die Slideshow nutzen kann ?

Wenn das der fall sein solte denke ich nicht das ich das so gebrauchen kann den dann muß ich ja anscheint eine komplett neue hp basteln mit Geeklog nur damit die Slideshow leuft

Hoffe ich habe das falsch verstanden

 
Sidex

Joined: 2010-03-29
Posts: 7
Posted: Wed, 2010-03-31 12:49
DiZin wrote:
Was auch immer und da ihr ohnehin schon Flash verwendet schau dir dafür mal die Minislideshow von www.flashyourweb.com an.

ok habe versucht dieses zu nutzen habe aber allerding auch dort ein problem

und zwar folgendes

die bilder werden nicht geladen bzw. er hört nicht auf zu laden

meine Verzeichnisstrucktur ist folgende

Hauptverzeichnis
        Startseite<------ ordner
                index.php
        gallery2<-----ordner
                mediaRss.php
                minislideshow.swf
                main.php
                u.s.w.

Die gallery ist mit gallery.hamburger-opel-freunde.de oder www.hamburger-opel-freunde.de/gallery2/ zu ereichen also den gasamten Gallery2 Ordner
in der Index.php ist für die Slideshow folgender Code drinne

<embed width="135" height="135" align="middle"
 pluginspage="http://www.macromedia.com/go/getflashplayer" 
type="application/x-shockwave-flash" name="minislide" wmode="transparent" quality="high"
 flashvars="xmlUrl=http://gallery.hamburger-opel-freunde.de/mediaRss.php?_
itemId=32&shuffle=true&showDropShadow=
true&delay=3&transInType=Fade&transOutType=Random&showTitle=
bottom&roundedMask=true" src="http://gallery.hamburger-opel-freunde.de/minislideshow.swf"></embed >

und die mediaRss.php schaut so aus

/* Connect to gallery */
    function init (){
     require_once( 'embed.php');
      $ret = GalleryEmbed::init(array('fullInit' => true, 'embedUri' => 'hattp://gallery.hamburger-opel-freunde.de/main.php', 'g2Uri' => 'http://gallery.hamburger-opel-freunde.de/gallery2/'));
     if ($ret) {
         print 'GalleryEmbed::init failed, here is the error message: ' . $ret->getAsHtml();
         exit;
     }
     GalleryEmbed::done(); 
    }

Bitte Helft mir ich habe nicht wirklich viel ahnung von php und finde den dummen fehler nicht

 
DiZin

Joined: 2009-01-03
Posts: 222
Posted: Thu, 2010-04-01 14:56

Mal 'ne grundsätzliche Frage: Warum definierst du für Gallery2 eine Subdomain, wenn sie ohnehin im Subdirectory gallery2/ deiner Domain liegt? Ich denke, hier liegt die Wurzel deines Problems.

Zudem wäre es hilfreicher, wenn du jeweils nennen würdest, welches Modul du verwendest. Den Code müsste man kaum hier posten, denn dieser ist in der jeweiligen Doku in den in diesem Thread genannten Modulen auch richtig dokumentiert und funktioniert meiner Erfahrung nach (in selbstgestrickten php-Webseiten, in WordPress wie auch MediaWiki).

Bei den externen Zufallsbildern auf deiner Startseite von http://www.hamburger-opel-freunde.de/ scheinst du den ImageBlock zu verwenden (wenn ich den php-Code anschaue und glaube, diesen noch wiederzuerkennen. Diesen zu überprüfen, dazu habe ich keine Lust). Dieser findet die Gallery2, denn er zeigt ja Vorschaubilder. Schleierhaft ist, dass ein Klick dann nicht funktioniert ([1] siehe unten den Nachtrag).

Wenn die MiniSlideShow looped, dann ist der Link zum Gallery2-Album falsch (meist eine falsche id-Nummer (?g2_itemId=####)) [2]. Bilder müssen dafür nicht erneut hochgeladen werden (Wie kommst du bloss auf sowas?). Von "Geeklog instalieren" hab ich in diesem Zusammenhang auch noch nie was gelesen.

Also, meine Empfehlung: Verzichte vorerst mal auf die Verwendung der Subdomain gallery.hamburger-opel-freunde.de und sprich die Gallery2 über das Unterverzeichnis gallery2/ an.

Nachtrag:
1. Hab mal mit dem FF WebDeveloper deine Webseite analysiert. Für den ImageBlock mit dem Zufallsbild auf der rechten Seite sieht der Code so aus:

<div class="one-image">
  <a href="/?g2_itemId=3738">
    <img src="http://gallery.hamburger-opel-freunde.de/main.php?g2_view=core.DownloadItem&amp;g2_itemId=3739&amp;g2_serialNumber=15" width="141" height="105"      class="giThumbnail" alt="bild0187.jpg"/>
  </a> 
</div>

In <img src wird die Gallery2 über die Subdomain angesprochen, aber nicht im einbettenden Link <a href="/?g2_itemId=3738">. Das kann ja nicht funktionieren, denn da fehlt folgendes davor: http://gallery.hamburger-opel-freunde.de/main.php, statt dessen bewirkt der / vor g2_itemId die Verwendung des Standardverzeichnisses, also bei dir http://www.hamburger-opel-freunde.de/

2. In der Minislideshow spezifizierst du die itemId=32. Dies ist das Rootalbum deiner Gallery2 und da sind keine Fotos drin, darum werden auch keine Fotos angezeigt. Nimm mal die itemId=4776 und schon wird es gehen.

3. In deinem vorletzten Posting im ImageBlock Code zweifle ich deine folgenden Angaben an:

/* You'll have to change the /gallery2/ thing in the following 2 lines probably */
require_once("../gallery2/embed.php");
$ret = GalleryEmbed::init(array('fullInit' => true, 'embedUri' => '/', 'g2Uri' => "gallery.hamburger-opel-freunde.de/main.php"));

Überprüfe das fett gedruckte nochmals anhand der Doku.

 
Sidex

Joined: 2010-03-29
Posts: 7
Posted: Mon, 2010-04-05 12:04

Man siet den Wald vor lauter Beumen nicht!

* You'll have to change the /gallery2/ thing in the following 2 lines probably */
 require_once("../gallery2/embed.php");
 $ret = GalleryEmbed::init(array('fullInit' => true, 'embedUri' => '../gallery2/main.php', 'g2Uri' => "gallery.hamburger-opel-freunde.de/main.php"));
 if ($ret) {
     print 'GalleryEmbed::init failed, here is the error message: ' . $ret->getAsHtml();
     exit;
 }
 /*
  * See "Site admin" -> "image block" for all available options. the parameters are the same
  * as for the external imageblock
  */

nun macht er mir folgenden link draus
<a href="/gallery2/main.php?g2_itemId=1070">

Also danke für die Hilfe auch wen ich total nerfig war :-)

 
DiZin

Joined: 2009-01-03
Posts: 222
Posted: Fri, 2010-04-16 01:35

Nervig warst Du nicht. Danke dass du den Thread-Titel auf "[gelöst]" gesetzt hast! Allein dadurch hat sich meine "Mühe" gelohnt ;-)