Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Momenteel ben ik bezig met het maken van een site in Drupal. Daarbij heb ik een phpbb forum verplaatst en geïntegreerd met Drupal. Tot dusver niets bijzonders. Hij deze phpbbbridge van Drupal zitten blokken die je kunt weergeven in de site die gekoppeld staan met het phpbb forum.

Nu is het zo, dat deze een volgende url gebruiken: http://mijndomein.nl/phpbbforum/<viewtopic oid>
de pagina is zo gelinkt, dat hij de drupal pagina laat zien en het forum in een iframe op die pagina.

Echter heeft dit iframe een src="/phpbb" meegekregen, waar dus het daadwerkelijke forum gelokaliseerd staat.

Wanneer iemand dus op een link in het blok klikt, komt hij altijd op het forumoverzicht, en niet bij de pagina waarnaar het eigenlijk gelinkt zou moeten zijn.

Is er een manier om het iframe te laden op basis van de primaire url?
Dus als de primaire url "http://mijndomein.nl/phpbbforum/viewtopic.php<variabe tekens>"

De iframe automatisch de src="http://mijndomein.nl/phpbb/viewtopic.php<dezelfde variabele tekens>" krijgt?

Eigenlijk hoeft alleen "phpbbforum" te veranderen in "phpbb" en moet de iframe deze waarde krijgen.

Helaas heb ik zelf te weinig kaas gegeten om eruit te komen met javascript. Kunnen jullie me helpen? :)

Acties:
  • 0 Henk 'm!

  • Wiethoofd
  • Registratie: Juli 2007
  • Laatst online: 14-08 12:22

Wiethoofd

Broadcast TOM

Zou dit niet met een .htaccess rewriterule op te lossen zijn? Alles wat de phpbbforum url opvraagt doorsturen naar dezelfde url zonder 'forum' er in.

Volg me op Twitter/X & Bluesky


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het spijt me, maar ik weet dus nagenoeg niets van javascript (wil er wel graag meer van leren). Zou je ietsje duidelijker willen zijn? :$

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik zoek eigenlijk een script wat de url leest, deze overneemt, van phpbbforum "phpbb" maakt en dit adres laad in de iframe.

Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Een manier waarop je dit vrij makkelijk kunt doen is in je functie kijken wat de url is en deze ombouwen naar de juiste URL. Je kunt bijvoorbeeld de url splitten zodat je de juiste variabele tekens hebt, en deze dan aan een string plakken die je als source voor je iframe gebruikt.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TERW_DAN schreef op maandag 19 maart 2012 @ 00:27:
Een manier waarop je dit vrij makkelijk kunt doen is in je functie kijken wat de url is en deze ombouwen naar de juiste URL. Je kunt bijvoorbeeld de url splitten zodat je de juiste variabele tekens hebt, en deze dan aan een string plakken die je als source voor je iframe gebruikt.
Heb je daar een voorbeeldje van? *O*

Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 08-09 15:03

Douweegbertje

Wat kinderachtig.. godverdomme

@TERW_DAN TS geeft aan dat hij er weinig van weet, dus wellicht het iets makkelijker houden? :)

@Saisai

wat Wiethoofd bedoeld is een .htaccess bestand (als je even zelf wilt googlen).
Ik weet niet precies hoe het script (je bridge) e.d werkt, dus ik geef het een 50/50 kans dat dit zou werken, maar dan zou dit het moeten zijn:

code:
1
2
3
RewriteEngine  on

RewriteRule ^/phpbb/$ /phpbbforum/


en dat dus in je .htaccess file zetten.

Overigens zou ik gewoon even die bridge die je gebruikt op pastebin of iets soortgelijks zetten, want nu wil je dat je antwoord krijgt, zonder dat iemand uberhaubt weet hoe alles nou precies in elkaar zit

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik had ondertussen gegoogled en dat gaat niet werken aangezien je daarmee de primaire url veranderd en niet de src van de iframe. Of zie ik dat helemaal verkeerd?

naar mijn idee moet het op te lossen zijn met een script, maar correct me if i'm wrong.

Het gaat om http://peugeotgticlub.eu en dan om de forumlinks. (nog niet officieel in de lucht)

het forum laadt in een iframe in de drupal pagina:

<iframe id="myframe" src="/phpbb" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:hidden; width:100%; display:none"></iframe>

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 22:11
Verwijderd schreef op maandag 19 maart 2012 @ 00:36:
Ik had ondertussen gegoogled en dat gaat niet werken aangezien je daarmee de primaire url veranderd en niet de src van de iframe. Of zie ik dat helemaal verkeerd?
[...]
Of je lost het op door de linkjes te veranderen naar de correcte via bijv. een script of je zorgt ervoor dat de foutive linkjes naar de goede plekken verwijzen (/phpbb naar /phpbbforum) via een .htaccess rewriterule.
Dat laatste zorgt er dus voor dat als iemand naar www.domein.nl/phpbb navigeert deze www.domein.nl/phpbbforum voorgeschoteld krijgt.

[ Voor 12% gewijzigd door Caelorum op 19-03-2012 00:40 ]


Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

douweegbertje schreef op maandag 19 maart 2012 @ 00:30:
@TERW_DAN TS geeft aan dat hij er weinig van weet, dus wellicht het iets makkelijker houden? :)
Zoeken op javascript split() levert al meer dan zat voorbeelden op waarmee je toch wel eea kunt doen lijkt me.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik denk niet dat jullie mij begrijpen

[ Voor 88% gewijzigd door Verwijderd op 19-03-2012 00:44 ]


Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 08-09 15:03

Douweegbertje

Wat kinderachtig.. godverdomme

Ik denk het ook niet, ik zie namelijk nu ik je link heb het probleem ook totaal niet? :) Ik blijf namelijk ook gewoon in het Iframe, ongeacht de link of waar ik dan ook op klik.

Acties:
  • 0 Henk 'm!

  • Scripted
  • Registratie: Maart 2006
  • Laatst online: 12-06 20:03
Probeer jquery eens: http://api.jquery.com/replaceWith/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
douweegbertje schreef op maandag 19 maart 2012 @ 00:48:
Ik denk het ook niet, ik zie namelijk nu ik je link heb het probleem ook totaal niet? :) Ik blijf namelijk ook gewoon in het Iframe, ongeacht de link of waar ik dan ook op klik.
Dat is dan ook het probleem. wanneer iemand klikt op een bepaald topic, moet dit topic verschijnen in de iframe.

Dus: het lezen van de link waar je op hebt geklikt (primair url)> bv phpbbforum/viewtopic=1
deze url gebruiken om de url van het iframe te veranderen in> phpbb/viewtopic=1

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter

Acties:
  • 0 Henk 'm!

  • Scripted
  • Registratie: Maart 2006
  • Laatst online: 12-06 20:03
Maar is het dan niet makkelijker om phpbbbridge aan te passen zodat de links direct goed zijn?
Een kwestie van bestand downloaden en met text editor search en replace?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Scripted schreef op maandag 19 maart 2012 @ 00:54:
Maar is het dan niet makkelijker om phpbbbridge aan te passen zodat de links direct goed zijn?
Een kwestie van bestand downloaden en met text editor search en replace?
daar verander je niet het iframe mee maar de primaire url. wat dus geen zin heeft.

Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 08-09 15:03

Douweegbertje

Wat kinderachtig.. godverdomme

Ik vat hem nu, wellicht als ik mag zal ik even je vraag iets anders formuleren? :)

Het betreft dus een website even zo genoemd:
www.website.com
Hierop zit een forum:
www.website.com/phpbbforum/viewtopic.php
Hier is een bridge gemaakt met een Iframe op de url:
www.website.com/forum
Als je dus naar bovenstaande pagina gaat, kom je dus eigenlijk in een iframe van: www.website.com/phpbbforum/viewtopic.php terecht.

Op dat moment "werk" je dus ook in DAT Iframe, en blijft de URL ook gewoon www.website.com/forum

Nu staat er op de Homepage een aantal links naar het forum

www.website.com/phpbbforum/viewtopic.php?topic=asdf
www.website.com/phpbbforum/viewtopic.php?topic=blaat

Echter, dit zou eigenlijk zo moeten zijn, dat als je daar op klikt dat er dit gebeurt:

Je komt op www.website.com/forum, je Iframe word geladen en DAN moet hij naar www.website.com/phpbbforum/viewtopic.php?topic=blaat gaan

Nu gebeurt er dat je direct op "www.website.com/phpbbforum/viewtopic.php?topic=blaat" komt, en niet deze URL in een Iframe op /forum

-------------------

Verder even kort gezegd, simpel weg de URL veranderen naar "www.website.com/FORUM/viewtopic.php?topic=blaat" gaat niet werken.

Ik zal even op je site kijken hoe alles werk, en kom zo terug :)


PS. kwam per ongeluk nog een "bug" tegen, waarbij ik dus mysql injection kon uitvoeren.. PM je zo nog wel even

Edit:

Ok, je moet je links op je homepage veranderen in dit:


code:
1
<a href="javascript:loadintoIframe('myframe', 'www.website.com/phpbbforum/viewtopic.php?f=11&t=3545&p=24618&hilit=#p24618')">Link</a>


dan moet hij het doen :)

[ Voor 8% gewijzigd door Douweegbertje op 19-03-2012 01:15 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
douweegbertje schreef op maandag 19 maart 2012 @ 01:06:
Ik vat hem nu, wellicht als ik mag zal ik even je vraag iets anders formuleren? :)

Het betreft dus een website even zo genoemd:
www.website.com
Hierop zit een forum:
www.website.com/phpbbforum/viewtopic.php
Hier is een bridge gemaakt met een Iframe op de url:
www.website.com/forum
Als je dus naar bovenstaande pagina gaat, kom je dus eigenlijk in een iframe van: www.website.com/phpbbforum/viewtopic.php terecht.

Op dat moment "werk" je dus ook in DAT Iframe, en blijft de URL ook gewoon www.website.com/forum

Nu staat er op de Homepage een aantal links naar het forum

www.website.com/phpbbforum/viewtopic.php?topic=asdf
www.website.com/phpbbforum/viewtopic.php?topic=blaat

Echter, dit zou eigenlijk zo moeten zijn, dat als je daar op klikt dat er dit gebeurt:

Je komt op www.website.com/forum, je Iframe word geladen en DAN moet hij naar www.website.com/phpbbforum/viewtopic.php?topic=blaat gaan

Nu gebeurt er dat je direct op "www.website.com/phpbbforum/viewtopic.php?topic=blaat" komt, en niet deze URL in een Iframe op /forum

-------------------

Verder even kort gezegd, simpel weg de URL veranderen naar "www.website.com/FORUM/viewtopic.php?topic=blaat" gaat niet werken.

Ik zal even op je site kijken hoe alles werk, en kom zo terug :)


PS. kwam per ongeluk nog een "bug" tegen, waarbij ik dus mysql injection kon uitvoeren.. PM je zo nog wel even

Edit:

Ok, je moet je links op je homepage veranderen in dit:


code:
1
<a href="javascript:loadintoIframe('myframe', 'www.website.com/phpbbforum/viewtopic.php?f=11&t=3545&p=24618&hilit=#p24618')">Link</a>


dan moet hij het doen :)
Dat bedoel ik inderdaad! Alleen is in dit geval www.website.nl/phpbb het daadwerkelijke forum adres en www.website.nl/forum het adres die de iframe laat zien.

ja graag, ik ben indd nog aan het debuggen. :Y

/edit

zal eens kijken of ik het kan vinden, het betreft in dit geval module die automatisch het forum checkt op de nieuwste reacties en deze in dat block "dropt"

[ Voor 4% gewijzigd door Verwijderd op 19-03-2012 01:29 ]


Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 08-09 15:03

Douweegbertje

Wat kinderachtig.. godverdomme

Dus mijn stukje code werkt nog niet als je even de url veranderd in phpbb? (had ff snel gedaan).
Dan moet je denk ik haast iets doen als:
code:
1
www.website.com/forum&PAGE=viewtopic.php?f=11&t=3545&p=24618&hilit=#p24618

Dan op www.website.com/forum moet je vervolgens je page ophalen van bovenstaande link.
En dat weer in deze functie doen:

code:
1
loadintoIframe('myframe', 'www.website.com/phpbb?page=Hier-je-page-waarde-van-bovenstaande-url')

[ Voor 3% gewijzigd door Douweegbertje op 19-03-2012 01:35 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
douweegbertje schreef op maandag 19 maart 2012 @ 01:33:
Dus mijn stukje code werkt nog niet als je even de url veranderd in phpbb? (had ff snel gedaan).
Dan moet je denk ik haast iets doen als:
code:
1
www.website.com/forum&PAGE=viewtopic.php?f=11&t=3545&p=24618&hilit=#p24618

Dan op www.website.com/forum moet je vervolgens je page ophalen van bovenstaande link.
En dat weer in deze functie doen:

code:
1
loadintoIframe('myframe', 'www.website.com/phpbb?page=Hier-je-page-waarde-van-bovenstaande-url')
Dat is exact hetgeen ik bedoel. _/-\o_ alleen nu weet ik nog steeds niet hoe ik dit voor elkaar krijg. (ik ben inmiddels wel op zoek naar de code in de module, maar ik vind deze optie beter :+

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
<script type="text/javascript">
    var theLocation = document.location;
    theLocation = theLocation.replace(/phpbbforum/,"/phpbb/");
    //alert(theLocation);
    document.getElementById('myframe').src = theLocation;
</script>


is dit iets?

/edit

bah, dat werkt dus niet. :(
waarom niet? ik was überhaupt al trots op mezelf dat ik dit had verzonnen :')

[ Voor 52% gewijzigd door Verwijderd op 19-03-2012 03:15 ]


Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 08-09 15:03

Douweegbertje

Wat kinderachtig.. godverdomme

Omdat het Iframe wordt geladen op de pagina www.website.com/forum
Dus hoe je het went of keert, als je dat wilt blijven behouden (dus daar dat iframe laten), moet je de URL van het Iframe (die je hebt gekozen op de frontpage) mee sturen naar www.website.com/forum

Oftewel:

Op je frontpage klik je op een URL die eigenlijk in een Iframe moet, echter moet dat iframe pas geladen worden op de /forum pagina.
Dus je stuurt de URL mee naar de /forum doormiddel van : /forum&page=Hier-komt-de-forum-URL

Vervolgens ga je DAN pas je Iframe laden op basis van de variabele page.

Heb even snel wat in elkaar geknutseld, geen idee of het werkt... normaal gezien heb ik ook niet zulke hacky scripts (no offence, maar Iframe is echt "meh").

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}


if (getUrlVars()["page"]) {
loadintoIframe(myframe, getUrlVars()["page"]);
}


En dat gooi je dus op je /forum pagina.

Vervolgens maak je van de links op je homepage dus dit:

code:
1
2
"origineleURL"
www.website.com/forum&page="origineleURL"

dus als voorbeeld:

Je hebt nu:

code:
1
http://peugeotgticlub.eu/phpbb/viewtopic.php?f=11&t=3545&p=24618&hilit=&sid=13e732a401dcb86b6936f0e442268486#p24618

Als link staan op je homepage, nu maak je hier dit van:

code:
1
http://peugeotgticlub.eu/forum&page=http://peugeotgticlub.eu/phpbb/viewtopic.php?f=11&t=3545&p=24618&hilit=&sid=13e732a401dcb86b6936f0e442268486#p24618


Als iets niet werkt, moet je even in het script kijken, en ik denk hier en daar nog wat tweaken.
Verder zou ik als ik jou was een iets fatsoenlijkere oplossing zoeken dan een Iframe.
Wat naar mijn mening beter was geweest is dat je:

- Met een .htaccess even je forum URL wat mooier maken.
- Op je forum gewoon de HTML/CSS veranderden naar zoals je website is.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
pff dat wordt lastig aangezien het een module betreft die automatisch urls aanmaakt.

Ik ga op zoek! iig alvast bedankt voor je hulp!!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De module aanpassen ga ik niet aan beginnen, dit geeft me een shitload aan foutmeldingen waar ik gestoord van wordt.

Ik heb naast dit script nog een ander script lopen voor het iframe om het te laten aanpassen in hoogte wanneer de inhoud van het iframe verandert. dat ziet er zo uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<script type="text/javascript">

/***********************************************
* IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["myframe"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"
    
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
    
    
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}


    
function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller


Deze code hieronder geeft uiteindelijk de juiste url, maar weigert deze vervolgens te laden in het iframe.

code:
1
2
3
4
5
    var theLocation = document.location.href;
    var mySplitResult = theLocation.split("forum");
   var nieuweURL = mySplitResult[0] + mySplitResult[1];
    //alert(nieuweURL);
document.getElementById('myframe').src = nieuweURL;


Heeft iemand enig idee hoe het komt dat het iframe niet de "nieuweURL" laadt?
hij alert hem wel goed namelijk. :{
Pagina: 1