Page 1 of 4

AjaxChat ins Portal einbinden

Posted: 19. April 2009 13:50
by web
Deine Portal Version: 1.0.3
Typ Deines phpBB Forums: Standard phpBB3
MODs installiert: Nein
Dein Wissensstand: Grundwissen
Link zu Deinem Forum: http://planet-phoenix.de/phpBB3

PHP Version: 4 und 5
MySQL Version: 5

Was hast Du gemacht, bevor das Problem aufgetreten ist?


Was hast Du bereits versucht um das Problem zu lösen?


Fehlerbeschreibung und Nachricht
Hallo zusammen,
Erstmal danke für das super Portal inkl. Anleitung.
Funzt alles 1a und ging schnell und einfach :)

Allerdings hätte unsere Community gerne einen Chat ins Portal intigriert.
Nach kurzen suchen bin ich auf den Ajax chat gestoßen ( https://blueimp.net/ajax/ ) und habe diesen erfolgreich installiert.
Allerdings ist der Chat bis jetzt sepperat http://www.planet-phoenix.de/phpBB3/chat/ nur wir hätten diesen gerne in das Portal intigriert.
Also so das der Benutzer alles in einen Fenster hat Portal und AjaxChat.

Im entsprechenden Wiki vom Ajax Chat http://ajax-chat.wiki.sourceforge.net/C ... tion+howto habe ich einiges gefunden nur ich habe keine Ahnung wie ich den Chat auf die Portalseite bekomme.

Vielleicht wäre jemand so nett und hilft mir auf die Sprünge.


PS Wenn ich falsch gepostet habe sorry

Re: AjaxChat ins Portal einbinden

Posted: 19. April 2009 14:13
by Huor
Hm also man kann es über einen iframe machen - oder du nimmst die Shoutbox. Beides lässt sich einfach und überall auf deinen Seiten integrieren, wenn du die Anleitungen aus dem Wiki befolgt hast.

Ich habs so gemacht, dass der Chat über einen Link zu erreichen ist, die Shoutbox hab ich im Portal sowie Haupt-Forumsseite.
Kannst dir das unter http://trf.mc-sig.de gern anschauen.

Re: AjaxChat ins Portal einbinden

Posted: 19. April 2009 18:07
by web
Hallo Huar,
Genauso wie du es hast stellen wir uns das auch vor.
Leider happert es an der Umsetzung ich bekomms einfach nicht hin :(
Hab auch von php und nicht soviel Ahnung.
Könntest dir mir eine Hilfestellung geben ?

Re: AjaxChat ins Portal einbinden

Posted: 21. April 2009 00:17
by Huor
Hi, ich hatte mal eine Anleitung dazu geschrieben, find die aber auf die schnelle nicht...
Hier ist eine andere - in englisch: http://www.net4seven.de/phpbb3/forum/vi ... ?f=9&t=278

ist aber auch verständlich. kann dann erst nächste woche mal den code für die shoutbox posten - ist quasi nen eigener block ;)

Re: AjaxChat ins Portal einbinden

Posted: 23. April 2009 12:07
by Edebu
Da haette ich auch Interesse dran. :D

Re: AjaxChat ins Portal einbinden

Posted: 23. April 2009 12:12
by Kevin
Verschoben nach "Modification Requests".

@Edebu: was ist den hiermit?
Huor wrote:Hier ist eine andere - in englisch: http://www.net4seven.de/phpbb3/forum/vi ... ?f=9&t=278

Re: AjaxChat ins Portal einbinden

Posted: 24. April 2009 10:23
by Edebu
Super, das werd ich mal einbinden. habe allerdings Angst das dann niemand mehr was ins Forum schreibt :-) und alle nur die Schoutbox benutzen.

Danke fuer den Link.

Re: AjaxChat ins Portal einbinden

Posted: 26. April 2009 09:52
by web
Hallo,
Vielen Dank für die Anleitung nun habe ich es hinbekommen.
Allerdings hätte ich den Chat gerne in der Box und nicht im Footer.

Im ACP habe ich ja die Möglichkeit eigene Blöcke zu erstellen.
Nur wenn ich den Code für den Footer dort einfüge wird der Ajax Chat nicht angezeigt.
Denke mal das liegt daran das die portal/includes/functions.php auch noch angepasst werden muss.

Nur welche Änderungen mache ich dort ?

//Update Also ich habe den Chat jetzt als Ifram eingebunden das sieht aber total schlecht aus.
Wenn ich den Code:

Code: Select all

function getShoutBoxContent()
{
    global $phpEx, $phpbb_root_path;
 
    // Get the URL to the chat directory:
    if (!defined('AJAX_CHAT_URL'))
    {
        define('AJAX_CHAT_URL', $phpbb_root_path . 'chat/');
    }
 
    // Get the real path to the chat directory:
    if (!defined('AJAX_CHAT_PATH'))
    {
        if (empty($_SERVER['SCRIPT_FILENAME']))
        {
            $_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_URL'];
        }
        define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']) . '/chat') . '/');
    }
 
    // Validate the path to the chat:
    if (@is_file(AJAX_CHAT_PATH . 'lib/classes.' . $phpEx))
    {
        // Include Class libraries:
        require_once(AJAX_CHAT_PATH.'lib/classes.' . $phpEx);
 
        // Initialize the shoutbox:
        $ajaxChat = new CustomAJAXChatShoutBox();
 
        // Parse and return the shoutbox template content:
        return $ajaxChat->getShoutBoxContent();
    }
 
    return null;
}
In root/portal/includes/function.php eingebe kommst es zu einen Fehler und die Webseite ist nicht mehr erreichbar.
Im Footer und Header ist es kein Problem nur ich hätte den Chat gerne im Portal.
Bei der Anleitung ist er ja auch im Portal :(

Werd dann bis nächste Woche warten bis Huor den Block postet :-)

Re: AjaxChat ins Portal einbinden

Posted: 27. April 2009 00:02
by Huor
Also ich hab nix in die functions.php fürs Portal eingefügt. Die Funktion, die du dort aufgelistet hast ist bei mir in der funtions.php im include-Verzeichnis.

Hier mal der Code für den Block (Style Black-Pearl):

Code: Select all

{$C_BLOCK_H_L}Shoutbox{$C_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
	<tr>
		<td>
			<!-- IF not S_IS_BOT -->
			<div style="font-size:1.2em;">
				{SHOUTBOX}
			</div>
			<!-- ELSE -->
			<div id="ajaxChatCopyright">
				<a href="https://blueimp.net/ajax/">AJAX Chat</a> &copy; <a href="https://blueimp.net">blueimp.net</a>
			</div>
			<!-- ENDIF -->
		</td>
	</tr>
</table>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Ich hab den code in der shoutbox_portal.html eingefügt und im Ordner templates/porta/blocks gespeichert.
Und dann einen Eintrag in der additional_blocks_center.html gemacht:

Code: Select all

<!-- version $Id: additional_blocks_center.html 427 2008-12-07 01:38:14Z Christian_N $ //-->

<!-- INCLUDE portal/block/shoutbox_portal.html -->

<!-- additional_blocks //-->
Das wäre dann alles, was ich gemacht hab um die Shoutbox ins Portal zu bekommen. Für den Forum-Index bin ich ähnlich vorgegangen. Dort hab ich auch eine Extra html-Datei gemacht. Wenn du das auch haben willst, dann gib bescheid. Dann poste ich das auch.

Ich hab übrigens keine anderen Änderungen bzgl dem AJAX-Chat gemacht.
Grüße
Huor

Re: AjaxChat ins Portal einbinden

Posted: 27. April 2009 10:07
by web
Hallo Huor,
Vielen Dank für deine Hilfe.
Der Code ist bei mir auch in root/includes/functions.php eingetragen worden.
Hab alles genauso gemacht wie es in der Englischen Anleitung steht.

Ich habe den ersten Code von dir im ACP/Mods -Eigener Block Mitte eingegeben.

Code: Select all

{$C_BLOCK_H_L}Shoutbox{$C_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%">
   <tr>
      <td>
         <!-- IF not S_IS_BOT -->
         <div style="font-size:1.2em;">
            {SHOUTBOX}
         </div>
         <!-- ELSE -->
         <div id="ajaxChatCopyright">
            <a href="https://blueimp.net/ajax/">AJAX Chat</a> &copy; <a href="https://blueimp.net">blueimp.net</a>
         </div>
         <!-- ENDIF -->
      </td>
   </tr>
</table>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Dann habe ich in der phpBB3/styles/DVGFX2/template/portal/block/additional_blocks_center.html diesen Code eingefügt:

Code: Select all

<!-- version $Id: additional_blocks_center.html 427 2008-12-07 01:38:14Z Christian_N $ //-->

<!-- INCLUDE portal/block/shoutbox_portal.html -->

<!-- additional_blocks //-->
Nur welchen Code meinst du mit den Satz ? Den ordner Templates habe ich nicht :(
Ich hab den code in der shoutbox_portal.html eingefügt und im Ordner templates/porta/blocks gespeichert.
Wäre sehr nett von dir wenn du den Code für den Foren Index posten könntest.

Gruß web

Re: AjaxChat ins Portal einbinden

Posted: 27. April 2009 19:42
by Huor
Hm, die Shoutbox scheint bei dir nicht zu funktionieren auf der Portalseite. Ich habs mir gerade angeschaut. Ich kenn den Style nicht den du benutzt - ich vermute, dass die Funktion getShoutBoxContent () nicht richtig referenziert ist.

In der functions.php muss doch nach

Code: Select all

   // The following assigns all _common_ variables that may be used at any point in a template.
   $template->assign_vars(array(
das hier eingefügt werden:

Code: Select all

      'SHOUTBOX'                  => getShoutBoxContent(),
Hast du das auch?

Nun zurück den Ordner templates gibt es in der tat so nicht. Ich meinte ./styles/<dein style>/template/portal/block ;)
Und ich meinte den Code, den ich gepostet hab. Den Code den du im ACP/Mods -Eigener Block Mitte eingegeben hast. Den hab ich in eine extra Datei namens shoutbox_portal.html eingefügt. Diese Datei dann in den Ordner ./styles/<dein style>/template/portal/block hinterlegt. Und dann die Datei additional_blocks_center.html entsprechen (wie gepostet) angepasst.
Für die Shoutbox im Forums-Index hab ich folgendes gemacht (ähnliche Vorgehensweise). Ich hab eine Datei namens shoutbox_index_body.html unter ./styles/<dein style>/template/ gespeichert. Die Datei hat folgenden Inhalt:

Code: Select all

<br clear="all" />
<div id="shoutbox_h" style="display:none;">
  <div>
    <div class="tbl-h-l">
      <div class="tbl-h-r">
        <div class="tbl-h-c">
          <img style="padding-top:9px;padding-right:6px;float:right;cursor:pointer;" src=
          "{T_THEME_PATH}/images/icon_maximize.gif" onclick=
          "javascript:ShowHide('shoutbox_nh','shoutbox_h','shoutbox_nh');" alt="Shoutbox" />

          <div class="tbl-title">
            <h4>Shoutbox</h4>
          </div>
        </div>
      </div>
    </div>

    <table class="tablebg" width="100%" cellpadding="0" cellspacing="0">
      <tr>
        <td class="row1"><span class="gensmall">&nbsp;</span>
        </td>
      </tr>
    </table>

    <div class="tbl-f-l">
      <div class="tbl-f-r">
        <div class="tbl-f-c">
        </div>
      </div>
    </div>
  </div>
</div>
<br clear="all" />

<div id="shoutbox_nh">
  <script type="text/javascript">
  //<![CDATA[
  <!--
  tmp = 'shoutbox';
  if(GetCookie(tmp) == '2')
  {
    ShowHide('shoutbox_nh', 'shoutbox_h', 'shoutbox_nh');
  }
  //-->
  //]]>
  </script>

  <div>
    <div class="tbl-h-l">
      <div class="tbl-h-r">
        <div class="tbl-h-c">
          <img style="padding-top:9px;padding-right:6px;float:right;cursor:pointer;" src=
          "{T_THEME_PATH}/images/icon_minimize.gif" onclick=
          "javascript:ShowHide('shoutbox_nh','shoutbox_h','shoutbox_nh');" alt="Shoutbox" />

          <div class="tbl-title">
            <h4>Shoutbox</h4>
          </div>
        </div>
      </div>
    </div>

    <table class="tablebg" width="100%" cellpadding="0" cellspacing="0">
      <tr>
        <td>
          <!-- IF not S_IS_BOT -->
          <div style="font-size:1.2em;">
            {SHOUTBOX}
          </div>
          <!-- ELSE -->
          <div id="ajaxChatCopyright">
            <a href="https://blueimp.net/ajax/">AJAX Chat</a> &copy; <a href="https://blueimp.net">blueimp.net</a>
          </div>
          <!-- ENDIF -->
        </td>
      </tr>
      <tr>
        <td class="cat-bottom">&nbsp;</td>
      </tr>
    </table>

    <div class="tbl-f-l">
      <div class="tbl-f-r">
        <div class="tbl-f-c">
        </div>
      </div>
    </div>
  </div>
</div>
<br clear="all" />
Um das dann in den Forums Index einzufügen machst du folgendes:
Öffne ./styles/<dein Style>/template/index_body.html
Finde:

Code: Select all

<!-- INCLUDE breadcrumbs_footer.html -->

Davor füge ein
:

Code: Select all

<!-- INCLUDE shoutbox_index_body.html -->
Damit sollte dann die Shoutbox im Forums-Index dargestellt werden. Die Shoutbox ist somit nicht auf allen Forenseiten sichtbar - sondern nur auf der Hauptforumsseite.
Das sollte es ein. Ich hoffe das funzt so bei dir auch. Wenn nicht meld dich einfach ;)

Grüße
Huor

Re: AjaxChat ins Portal einbinden

Posted: 28. April 2009 09:25
by web
Hallo Huor,
Den Style habe ich von hier und nennt sich DVGFX2.
Ich denke mal ich weiss warum der Chat nicht angezeigt wird denn wie du schon geschrieben hast:

Code: Select all

  // The following assigns all _common_ variables that may be used at any point in a template.
   $template->assign_vars(array(
Die Variable kommt in der function.php mehrfach vor.
Denke mal ich hab sie falsch eingetragen :-(
Ich habe meine einmal auf meinen Webspace hochgeladen.
Wenn du Zeit hast könntest du sie dir mal anschauen

http://www.planet-phoenix.de/files/functions.rar

Alternativ werde ich es jetzt einmal mit deinen Style versuchen.

Danke dir

//Update
So ich hab das jetzt genauso gemacht wie du es beschrieben hast und siehe da die Shoutbox is da :D
Allerdings sieht meine nicht so aus wie deine :-(
Die Smilie Leiste ist weg und irgendwie hab ich das Gefühl das Template der Box fehlt.
Sogar im Forums Index fehlt der Style.
Ich muss irgendwas vergessen haben :(
Hast du eine Idee ?

Re: AjaxChat ins Portal einbinden

Posted: 28. April 2009 18:37
by Huor
Ja hab ich. Du musst die Shoutbox.css Datei noch in dein Style einbinden, einfach deine stylesheet.css öffnen und ganz unten den Inhalt der shoutbox.css Datei einfügen. Die Shoutbox.css Datei findest du im chat/css ordner deiner Installation ;)

Die Smilie Leiste ist eine Erweiterung von mir. Dazu muss man die shoutbox.html Datei editieren...

einfach vor

Code: Select all

	<div id="ajaxChatCopyright" align="center"><a href="https://blueimp.net/ajax/">AJAX Chat</a> &copy; <a href="https://blueimp.net">blueimp.net</a></div>
das hier einfügen:

Code: Select all

	<div style="padding: 3px;" id="emoticonsContainer" align="center" dir="ltr"></div>

Re: AjaxChat ins Portal einbinden

Posted: 29. April 2009 09:35
by web
Hallo Huor,
Vielen Dank es funktioniert jetzt :D
War ganz schön kompliziert ohne dich würde wäre ich aufgeschmissen gewesen.

Zwei Fragen zum Schluss:
Wie bekomme ich die Shoutbox größer ? Denn dort ist jetzt ein Scrollbalken.
Im Forum Index scheint immer noch ein Teil des Styles zu fehlen :-(

Als Dank für deine Hilfe würde gern ein Link zu deinen Forum setzen wenn ich das darf :mrgreen:

PS: Seh grade das du deinen Header angepasst hast.Würde ich auch gerne machen normalerweise ist das in phpBB3/styles/DVGFX2/template/index.html.
Nur dort steht er nicht in den anderen finde ich leider auch nix.Wärst nochmal so nett und könntest mir sagen in welcher Datei ich das ändern kann ?

Re: AjaxChat ins Portal einbinden

Posted: 29. April 2009 11:05
by ralf-isi
web wrote:PS: Seh grade das du deinen Header angepasst hast.Würde ich auch gerne machen normalerweise ist das in phpBB3/styles/DVGFX2/template/index.html.
exgüssi die einmischung.
ich kenne den style nicht, aber der header ist im normalfall (meine behauptung) in der overall_header.html
gruss
ralf