Blöcke auf Fremdseiten anzeigen

Begonnen von Tohasiwe, 18 Februar 2010, 17:06:20

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Tohasiwe

Hallo.

Erst einmal ein Danke an all die Entwickler die an pragmaMx arbeiten und uns ein tolles Programm zur Verfügung stellen.

Also, ich möchte speziell die Blöcke " block-banner.php" und "block-Gallery-center-scroll-Random_pictures.php" auf Fremdseiten die nicht mit pragmaMx llaufen anzeigen bzw die Inhalte davon.

Hier die ja bereits bekannten Scripts:

block-banner,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.6 $
 * $Author: tora60 $
 * $Date: 2007/12/22 14:04:58 $
 */

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

$mxblockcache false;

$content "";

if (!
function_exists('viewbanner')) {
    include_once(
PMX_SYSTEM_DIR "/mx_bannerfunctions.php");
}

switch (
$block['position']) {
    
// center top
    
case 'c' :
        
$content viewbanner(3);
        break;
    
// center bottom
    
case 'd' :
        
$content viewbanner(4);
        break;
    
// left side
    
case 'l' :
        
$content viewbanner(5);
        break;
    
// right side
    
case 'r' :
        
$content viewbanner(6);
        break;
}

if (
$content) {
    
$content "<div align=\"center\">$content</div>";
}

?>



block-Gallery-center-scroll-Random_pictures.php


<?php
/**
 * pragmaMx  Content Management System
 * Copyright (c) 2005-2007 pragmaMx Dev Team - http://pragmaMx.org
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3
 * as published by the Free Software Foundation.
 *
 * $Revision: 1.5 $
 * $Author: tora60 $
 * $Date: 2009/06/15 08:35:05 $
 *
 * this file based on:
 * Coppermine Photo Gallery
 * Copyright (c) 2003-2005 Coppermine Dev Team
 * v1.1 originally written by Gregory DEMAR
 * required version: >= 1.4.18
 */



/* //// Beginn Blockkonfiguration  ////////////////////////// */
// der Name/Pfad des Gallerymoduls
$cpg_name 'Gallery';
// Anzahl der Thumbnails
$limit 10;
// Länge des Bildtitels unter dem Bild
$title_length 17;
// Liste der Alben, aus denen keine Bilder angezeigt werden sollen. Die ID's durch Komma trennen.
$exluded_albums '';
/* //// Ende Blockkonfiguration  //////////////////////////// */

if (@file_exists('modules/' $cpg_name '/blocks.inc.php')) {
    include(
'modules/' $cpg_name '/blocks.inc.php');
} else {
    if (
MX_IS_ADMIN) {
        
$content 'The module "' $cpg_name '" doesn\'t exist or is not correctly installed. Please install this module or change the Variable $cpg_name in file blocks/' basename(__file__) . '.';
    }
    return;
}
// Abfragebedingung für versteckte Alben erstellen
$exluded_albums preg_split('#\s*,\s*#'trim($exluded_albums));
foreach(
$exluded_albums as $ex) {
    
$excluded[] = intval($ex);
}
$exluded_albums '';
if (isset(
$excluded)) {
    
$exluded_albums ' AND p.aid NOT IN (' implode(','$excluded) . ')';
}

$result sql_query("
SELECT p.pid, p.url_prefix, p.filepath, p.filename, p.aid, p.title
FROM 
$CONFIG[TABLE_PICTURES] AS p INNER JOIN $CONFIG[TABLE_ALBUMS] AS a ON (p.aid = a.aid)
WHERE p.approved='YES' AND " 
$vis_groups " " $exluded_albums "
ORDER BY RAND() DESC
LIMIT 
$limit");

$output '';
while (
$row sql_fetch_assoc($result)) {
    
$row mxcpg::blocks_prepare_data($row);
    
$output .= '<td align="center" valign="baseline"><a href="modules.php?name=' $cpg_name '&amp;act=displayimage&amp;album=random&amp;pos=rnd' $row["pid"] . '"><img src="' get_pic_url($row'thumb') . '" border="0" alt="' $row['title'] . '" title="' $row['title'] . '"/><br />' mxCutString($row['title'], $title_length) . '</a></td>';
}
// marquee info at http://www.faqs.org/docs/htmltut/_marquee.html
if ($output) {
    
$content '<div align="center">
    <marquee loop="0" behavior="scroll" direction="left" width="90%" scrollamount="1" scrolldelay="1" onmouseover="this.stop()" onmouseout="this.start()">
    <table width="100%" border="0" cellpadding="4" cellspacing="0" align="center">
    <tr align="center">'
     
$output '</tr>
    </table>
    </marquee>
    </div>
    <p align="center"><a href="modules.php?name=' 
$cpg_name '">' $CONFIG['gallery_name'] . '</a></p>';
}

?>



Kann man jetzt diese Scripts umschreiben dass sie dierekt angesprochen werden können (zb. www.meine Domän.de/block.banner.php ) oder braucht man da eine Art übergabescript.
Ich glaube diese Möglichkeit wäre auch Interessant für andere, da man so auf Fremdseiten Werbung für seine Seite machen kann.

Ich hoffe Ihr könnt mir helfen

Gruss Torsten

comedi

Hallo Tohasiwe,

erstmal  :viannen_01:

Ich hoffe ich habe dich richtig verstanden. Wenn ja, dann schau mal hier nach.

Aber achte auf den jeweiligen verwendeten Style bzw. die entsprechende class. Sonst könnte es dir dein Layout "zerschiessen".

:bye:
LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.3 --- PHP-Version: 5.3.5
MySQL-Version: 5.1.63 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de

Tohasiwe

Hallo comedi,
erst mal Danke für deine Antwort.
Ich habe es eigentlich genau anders herum gemeint. Also ich möchte nicht fremde Inhalte in einen Block einfügen, sondern den Inhalt der Blöcke auf einer Fremdseite anzeigen.

z.B. möchte ich auf meiner Seite die mit pragmaMx läuft die Banner verwalten und die Möglichkeit haben diese Banner auch auf anderen Seiten/Domän einzublenden. Da ich das Script nicht dierekt aufrufen kann muss es wohl irgendwie umgeschrieben werden damit es auch ausserhalb von pragmaMx läuft. Oder wie schon erwähnt es wird so eine Art Zwischenscript benötigt.

Das Gleiche gilt für den Gallerieblock. Ich bin Fotograf und würde gern den Inhalt des Blocks, so wie er ihn in pramaMx darstellt, auch auf einer fremden Seite anzeigen lassen um so z.B. Werbung für meine Seite zu machen.

Ich könnte jetzt zwar den entsprechenden html Code aus meiner angezeigten Startseite ( wo der Block läuft ) kopieren und in andere Seiten wieder einfügen. Jedoch werden dann immer die gleichen Bilder angezeigt. Ich hätte aber gerne die Random-Funktion damit auch neue Bilder mit angezeigt werden.

Ich komme zwar gut mit html- Befehlen klar. Aber PHP-Scrips sind nicht so mein Ding   :red: .

Gruss Torsten

Webfan

Wenn es überhaupt geht, vielleicht ungefähr so

Mainfile.php aus dem PMX Hauptverzeichnis includen

require('pfadangabe/mainfile.php');


block includen
include('pfadangabe/blocks/block-DeinBlock.php');

Ausgabe
echo $content;

Hab ich aber noch nicht probiert, keine Ahnung ob das tatsächlich so funzt.

Tohasiwe

Hallo webfan,

Danke für Deine Antwort  :thumbup:

ich habe ein neues Script geschrieben und "gallerieblock" genannt.
Ich kann jetzt das Script direkt aufrufen und es erscheint die Slideshow im Browser. Somit habe ich jetzt auch die Möglichkeit das Script auf Fremdseiten einzubinden.

Nur beim Banner klappt es noch nicht. Es wird zwar kein Scriptfehler im Browser angezeigt aber die Banner erscheinen auch nicht.
Hat jemand noch eine Idee wo hier der Fehler liegt.

Hier erst mal das Script für den Gallerieblock.

<?php

require('/Pfadangabe/mainfile.php');

include(
'/Pfadangabe/blocks/block-Gallery-center-scroll-Random_pictures.php');

echo 
$content;

?>

Tohasiwe

Mit den Banner klappt es jetzt auch.

Hier das Script


<?php

require('/Pfad/mainfile.php');

include(
'/Pfad/block-Banner.php');

$content viewbanner(3);

echo 
$content "<div align=\"center\">$content</div>";


?>



Da ich in der Bannereinstellung " Center Oben " gewählt habe muss im Script " viewbanner(3) stehen..
Der Banner kann jetzt per html- Befehl in jede Seite eingefügt werden.

Hier noch der html Code zum einfügen der Scripte in andere Seiten.

<div class="block">
            <div align="center"><script> document.write('<iframe src="http://www.deineDomain.de/Script.php" height=100 width=600 scrolling="no" marginwidth="0" marginheight="0" frameborder="No"></iframe>') </script></div>


Jetzt nur noch die iframes in Höhe und Breite anpassen und fertig. Diese Methode müsste eigentlich auch mit andere Blöcke funktionieren.

Gruss Torsten

Tohasiwe

Hier noch ein Hinweis.
Damit die Links der Blöcke nicht im iFrame angezeigt werden, muss im Script im Link noch "target_blank" eingefügt werden.

Gruss Torsten