• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

iFrame - Seitenanfang

sorax

Neues Mitglied
Hallo html.de Forum!

Ich bin gerade dabei, die Homepage für unsere Gilde zu basteln.
Wir haben uns dafür entschieden, das ganze mit Wordpress als "CMS" sowie phpBB3 als "Forum" zu nutzen.
Damit sind eigentlich alle Funktionen abgedeckt, die wir brauchen.

Nun ist soweit alles ganz ok verlaufen und jetzt bin ich an dem Punkt wo ich das Forum in Wordpress ... einarbeiten... muss. Ich habe mich für ein einfaches iFrame entschieden, da es relativ schnell gemacht ist und auch seinen Zweck erfüllt.
Das Problem was ich aber nun habe ist folgendes: Wenn ich im Forum einen Thread mit mehreren Seiten öffne, dann bin ich -als Beispiel- auf Seite 1 und wechsel dann zu Seite 2. Dabei startet er die zweite Seite nicht ganz oben am Seitenanfang sondern er bleibt auf der Höhe, auf der ich die Seite 1 verlassen habe.

Nun meine Frage: Kann ich da irgendwas machen, dass er automatisch am Seitenanfang startet?

Ich hoffe das Problem ist deutlich genug geschildert worden und ihr könnt mir helfen. Ich habe schon durch langes googlen die Möglichkeit gefunden, Wordpress um das Forum zu bauen, aber das übersteigt dann meine Kenntnisse bei weitem.
Es geht um folgende Seite Chual - EU-Alleria

Ich hoffe ihr könnt mir helfen! Danke im voraus!


MfG
Sorax
 
Wieso auf Wordpress und IFrame setzen? Verwendet doch was ordentliches.

Installiere Joomla und erweitere das System um eine Foren-Komponente, dann muss auch nicht mit IFrames rumgepfuscht werden.


Grüße
 
Wir hatten uns vorher Gedanken gemacht, wie wir das am besten machen. Joomla stand natürlich auch zur Debatte, allerdings hatten wir uns dann schlußendlich doch für Wordpress entschieden. Hatten auch Seiten verglichen und Wordpress gefiel uns einfach.
Gibt es denn diese Möglichkeit? Beim Seitenwechsel am Seitenanfang starten und nicht irgendwo im Nirvana?
 
hmm... idee: ein javascript einbauen für alle seiten des forums:
Code:
document.location=document.location+"#"
 
Dieser Code muss dann wo hin? bzw. Welche Dateien müsste ich dann editieren? nur die Index.php oder wie wird das gemacht? Wenn ich jetzt einen neuen Thread erstelle im Forum, dann wird ja keine neue PHP Datei angelegt oder? Da müsste es dann ja irgendwie eine bestimmte Datei geben, in der ich das einfügen muss?!
 
ich kenne phpbb3 nicht so gut, aber du musst in den themes ordner gehen und dann gibt es sicher die eine header datei wo du das dann in den head reinschreiben musst.
 
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
<head>
<!-- INCLUDE ca_config.html -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta http-equiv="content-language" content="{S_USER_LANG}" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="imagetoolbar" content="no" />
{META}
<title>{SITENAME} - <!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}</title>

<!-- IF S_ENABLE_FEEDS -->
    <!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{U_FEED}" /><!-- ENDIF -->
    <!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{U_FEED}?mode=news" /><!-- ENDIF -->
    <!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{U_FEED}?mode=forums" /><!-- ENDIF -->
    <!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_NEW}" href="{U_FEED}?mode=topics" /><!-- ENDIF -->
    <!-- IF S_ENABLE_FEEDS_TOPICS_ACTIVE --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_ACTIVE}" href="{U_FEED}?mode=topics_active" /><!-- ENDIF -->
    <!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{U_FEED}?f={S_FORUM_ID}" /><!-- ENDIF -->
    <!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" href="{U_FEED}?f={S_FORUM_ID}&amp;t={S_TOPIC_ID}" /><!-- ENDIF -->
<!-- ENDIF -->

<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="{T_THEME_PATH}/ie7.css" />
<![endif]-->

<script type="text/javascript">
// <![CDATA[

    var onload_functions = new Array();
    var onunload_functions = new Array();
    var ca_main_width = '{$CA_WIDTH}';

<!-- IF S_USER_PM_POPUP -->
    if ({S_NEW_PM})
    {
        popup('{UA_POPUP_PM}', 400, 225, '_phpbbprivmsg');
    }
<!-- ENDIF -->

function popup(url, width, height, name)
{
    if (!name)
    {
        name = '_popup';
    }

    window.open(url.replace(/&amp;/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes,width=' + width);
    return false;
}

function jumpto()
{
    var page = prompt('{LA_JUMP_PAGE}:', '{ON_PAGE}');
    var per_page = '{PER_PAGE}';
    var base_url = '{A_BASE_URL}';

    if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0)
    {
        if (base_url.indexOf('?') == -1)
        {
            document.location.href = base_url + '?start=' + ((page - 1) * per_page);
        }
        else
        {
            document.location.href = base_url.replace(/&amp;/g, '&') + '&start=' + ((page - 1) * per_page);
        }
    }
}

/**
* Find a member
*/
function find_username(url)
{
    popup(url, 760, 570, '_usersearch');
    return false;
}

/**
* Mark/unmark checklist
* id = ID of parent container, name = name prefix, state = state [true/false]
*/
function marklist(id, name, state)
{
    var parent = document.getElementById(id);
    if (!parent)
    {
        eval('parent = document.' + id);
    }

    if (!parent)
    {
        return;
    }

    var rb = parent.getElementsByTagName('input');
    
    for (var r = 0; r < rb.length; r++)
    {
        if (rb[r].name.substr(0, name.length) == name)
        {
            rb[r].checked = state;
        }
    }
}

<!-- IF ._file -->

    /**
    * Play quicktime file by determining it's width/height
    * from the displayed rectangle area
    *
    * Only defined if there is a file block present.
    */
    function play_qt_file(obj)
    {
        var rectangle = obj.GetRectangle();

        if (rectangle)
        {
            rectangle = rectangle.split(',')
            var x1 = parseInt(rectangle[0]);
            var x2 = parseInt(rectangle[2]);
            var y1 = parseInt(rectangle[1]);
            var y2 = parseInt(rectangle[3]);

            var width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1;
            var height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1;
        }
        else
        {
            var width = 200;
            var height = 0;
        }

        obj.width = width;
        obj.height = height + 16;

        obj.SetControllerVisible(true);

        obj.Play();
    }
<!-- ENDIF -->

    /**
    * New function for handling multiple calls to window.onload and window.unload by pentapenguin
    */
    window.onload = function()
    {
        for (var i = 0; i < onload_functions.length; i++)
        {
            eval(onload_functions[i]);
        }
    }

    window.onunload = function()
    {
        for (var i = 0; i < onunload_functions.length; i++)
        {
            eval(onunload_functions[i]);
        }
    }


if(navigator.userAgent && navigator.userAgent.indexOf('Mac OS X') > 0)
{
    document.write('<link rel="stylesheet" href="{T_THEME_PATH}/mac.css" type="text/css" />');
}

// ]]>
</script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/ca_scripts.js"></script>
</head>
<body class="{S_CONTENT_DIRECTION}">
<div id="body">

<a name="top"></a>

<table border="0" cellspacing="0" cellpadding="0" width="{$CA_WIDTH}" id="maintable" align="center">
<tr>
    <td class="row-left" valign="top"><img src="{T_THEME_PATH}/images/row_left_top.gif" width="4" height="100" alt="" /></td>
    <td id="header" align="center" valign="top">
        <div id="logorow">
            <div id="logo-left"><div id="logo-right">
                <a href="{U_INDEX}">{SITE_LOGO_IMG}</a>
            </div></div>
        </div>

        <div class="navrow">
            <!-- IF not S_IS_BOT -->
                <!-- IF S_USER_LOGGED_IN --><a href="{U_PROFILE}">{L_PROFILE}</a> • <!-- ENDIF -->
                <!-- IF S_USER_LOGGED_IN -->
                    <!-- IF S_DISPLAY_PM --><a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a> • <!-- ENDIF -->
                <!-- ELSEIF S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --><a href="{U_REGISTER}">{L_REGISTER}</a> • <!-- ENDIF -->
            <!-- ENDIF -->
            <!-- IF U_RESTORE_PERMISSIONS --><a href="{U_RESTORE_PERMISSIONS}">{L_RESTORE_PERMISSIONS}</a> • <!-- ENDIF -->
            <a href="{U_FAQ}">{L_FAQ}</a>
            <!-- IF S_DISPLAY_SEARCH --> • <a href="{U_SEARCH}">{L_SEARCH}</a><!-- ENDIF -->
            <!-- IF not S_IS_BOT -->
                <!-- IF S_DISPLAY_MEMBERLIST --> • <a href="{U_MEMBERLIST}">{L_MEMBERLIST}</a><!-- ENDIF -->
            <!-- ENDIF -->
            <!-- IF not S_IS_BOT --> • <a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a><!-- ENDIF -->
        </div>
    </td>
    <td class="row-right" valign="top"><img src="{T_THEME_PATH}/images/row_right_top.gif" width="4" height="100" alt="" /></td>
</tr>
<tr>
    <td class="row-left"><img src="{T_THEME_PATH}/images/spacer.gif" width="4" height="1" alt="" /></td>
    <td id="contentrow">

<!-- IF not S_IS_BOT && not $CA_SKIP_PM_NOTIFY && S_USER_LOGGED_IN && S_DISPLAY_PM -->
    <!-- IF S_USER_NEW_PRIVMSG -->
        <div class="pm-notify-new"><div class="pm-notify-header">{L_PRIVATE_MESSAGES}</div><a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD -->, {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --></a></div>
    <!-- ELSEIF S_USER_UNREAD_PRIVMSG -->
        <div class="pm-notify-unread"><div class="pm-notify-header">{L_PRIVATE_MESSAGES}</div><a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD -->, {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --></a></div>
    <!-- ENDIF -->
<!-- ENDIF -->  

<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
    <div class="pm-notify-new"><div class="pm-notify-header">{L_INFORMATION}</div>{L_BOARD_DISABLED}</div>
<!-- ENDIF -->

    <table width="100%" cellspacing="0">
    <tr>
        <td class="gensmall">
            <!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<br /><!-- ENDIF -->
            <!-- IF S_DISPLAY_SEARCH --><a href="{U_SEARCH_UNANSWERED}">{L_SEARCH_UNANSWERED}</a> | <a href="{U_SEARCH_ACTIVE_TOPICS}">{L_SEARCH_ACTIVE_TOPICS}</a><!-- ENDIF -->
        </td>
        <td class="gensmall" align="{S_CONTENT_FLOW_END}">
            {CURRENT_TIME}<br />
            <!-- IF S_DISPLAY_SEARCH and S_USER_LOGGED_IN --><a href="{U_SEARCH_UNREAD}">{L_SEARCH_UNREAD}</a> | <a href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a> | <a href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a><!-- ENDIF -->
        </td>
    </tr>
    </table>

    <!-- INCLUDE breadcrumbs.html -->

    <br />

Ähm, es gibt diese Datei, sie nennt sich overall_header.html. Hier sollte es dann ja vermutlich irgendwohin oder?
Also ich hatte es versucht irgendwo rein zu schreiben, das klappte nicht, ich weiß aber nicht ob es in eine bestimmte Zeile muss oder ob es wirklich wurst ist.
 
ersetze
Code:
<head>
durch folgendes:
Code:
<head>
<script type="text/javascript">
document.location=document.location+"#";
</script>
Hoffentlich klappts! Überprüfe, ob die Codeveränderung auch im Browser ankommt!
 
Habe in der Datei, die Änderungen vorgenommen und wieder hochgeladen.
Leider keinerlei Anderung sichtbar... :???:



Überprüfe, ob die Codeveränderung auch im Browser ankommt!
Oo

Auf dieser Seite: http://www.pure-guild.com/forums/ kann man ganz gut sehen, wie ich es mir vorstelle. Ich denke die haben die Seite um das Forum gebaut und nicht das Forum in die Seite, wenn Du verstehst was ich sagen will....
 
Ok, warte mal...
ersetze es durch
Code:
<head>
<script type="text/javascript">
parent.location=parent.location+'#';
</script>
 
Leider nein, ich habs soeben abgeändert und hochgeladen, und es ist keine Änderung zu sehen.
Ist es denn die richtige Datei? Also die overall_header.html ?

Also die Änderung kannst du auf der Seite chual.de/wordpress ja sehen bzw nichtsehen.

Grml, ich bin seit 3 Tagen an googlen und finde keine vernünftige Lösung für diese Geschichte, ausser anderes CMS o.ä. aber das steht eig. nicht zur Debatte.
 
du hast einen fehler gemacht beim editieren. gehe ich auf frame quelltext anzeigen, kommt noch die erste version meiner änderung. die datei ist richtig.
 
document.location würde schon passen, aber das Problem geht ihr falsch an. Wenn ich einen iFrame habe und ich klicke in diesem IFrame einen Link an, dann ändert sich logischerweise nur der Inhalt im iframe. Die Seite, welche den iFrame beinhaltet, bleibt natürlich gleich - auch von der Scrollposition.

Erstmal solltest Du nicht dem Forum-iFrame eine Höhe von 9000px geben. Berechne die Höhe und weise sie dem iFrame zu.


Hier 2 interessante Links:
Brandon Aaron : jQuery Edge: Better Support for other Windows and Documents
https://github.com/brandonaaron/jquery-doc-and-win

Im letzten Link findest Du ein jQuery Plugin. Mit dem solltest Du über folgenden Code an die Höhe des im iFrame eingebundenen Documents kommen:
PHP:
var height = $('#id-of-the-iframe').doc().height();

Die Höhe dann einfach dem iFrame zuweisen:

PHP:
$('#id-of-the-iframe').css('height', height);

Um nun dein eigentliches Problem zu lösen, musst Du überprüfen, ob ein Klick-Event im iFrame stattgefunden hat. In diesem Falle springst Du im Hauptfenster (also in der WP-Seite) zum Seitenanfang. Das Plugin liefert auch dafür eine Funktion:

PHP:
// bind event to a tags in iframe
 $('iframe').doc().find('a').click(fn);
 
Ich hab es nun anders gemacht, ich habe versucht das WP Template um das phpBB3 Template rumzubauen. Das ganze sieht nun so aus Chual - EU-Alleria - Foren-Übersicht
Eigentlich sieht das ganze gut aus soweit, zwei Probleme habe ich allerdings noch.

Und zwar ...
1. Wie bekomm ich die Navigation von Wordpress so abgeändert, dass er direkt auf den oben genannten Link verlinkt.
2. Wie passe ich die Breite des Forums an? - Ich habe in der stylesheet.css gesucht, aber finde den passenden Teil dafür nicht, kann man da was hinzufügen? Oo

Achja, und danke für die zahlreichen Hilfestellungen bis dato!
 
Zurück
Oben