Seite 1 von 2

Ungelesene Beiträge als Popup-Fenster

Verfasst: 01.12.2013 18:58
von Knowhow-Sauger
Hallo Freunde,

wenn man neue Beiträge lesen möchte, muss man ja immer wieder auf "ungelesene Beiträge" klicken.
Viel leichter wäre es daher, wenn unten rechts ein kleines PopUp-Fenster eingeblendet wird, wo man sofort alle ungelesenen Threads auf einen Blick hat.
Gibt es sowas? :)
DANKE!

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 01.12.2013 20:09
von Miriam
Wäre es nicht sinnvoller, den Link zu den ungelesenen Beiträgen an eine besser zugängliche Stelle umzusetzen?

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 01.12.2013 20:37
von Kirk
Hallo
Probier mal das hier:
Erstelle eine Datei Namens unread_posts.php mit folgendem Inhalt:
https://www.phpbb.de/support/pastebin.p ... iew&s=1360
Lade diese Datei in deinen Forenroot

Erstelle eine Datei Namens unread_posts.html mit folgendem Inhalt:

Code: Alles auswählen

<!-- INCLUDE simple_header.html -->
    <meta http-equiv="refresh" content="30">
<!-- IF S_SHOW_TOPICS -->

	<!-- IF .searchresults -->
	<div class="forumbg">

		<div class="inner"><span class="corners-top"><span></span></span>
		<ul class="topiclist">
			<li class="header">
				<dl class="icon">
					<dt>{L_TOPICS}</dt>
					<dd class="posts">{L_REPLIES}</dd>
					<dd class="views">{L_VIEWS}</dd>
					<dd class="lastpost"><span>{L_LAST_POST}</span></dd>
				</dl>
			</li>
		</ul>
		<ul class="topiclist topics">

		<!-- BEGIN searchresults -->
			<li class="row<!-- IF searchresults.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
				<dl class="icon" style="background-image: url({searchresults.TOPIC_FOLDER_IMG_SRC}); background-repeat: no-repeat;">
					<dt <!-- IF searchresults.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{searchresults.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
						<!-- IF searchresults.S_UNREAD_TOPIC --><a href="{searchresults.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF -->
						<a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}</a> {searchresults.ATTACH_ICON_IMG}
						<!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED --><a href="{searchresults.U_MCP_QUEUE}">{searchresults.UNAPPROVED_IMG}</a> <!-- ENDIF -->
						<!-- IF searchresults.S_TOPIC_REPORTED --><a href="{searchresults.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br />
						<!-- IF searchresults.PAGINATION --><strong class="pagination"><span>{searchresults.PAGINATION}</span></strong><!-- ENDIF -->
						{L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} &raquo; {searchresults.FIRST_POST_TIME}
						<!-- IF not searchresults.S_TOPIC_GLOBAL -->{L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a><!-- ELSE --> ({L_GLOBAL})<!-- ENDIF -->
					</dt>
					<dd class="posts">{searchresults.TOPIC_REPLIES}</dd>
					<dd class="views">{searchresults.TOPIC_VIEWS}</dd>
					<dd class="lastpost"><span>
						{L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL}
						<!-- IF not S_IS_BOT --><a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}</a> <!-- ENDIF --><br />{searchresults.LAST_POST_TIME}<br /> </span>
					</dd>
				</dl>
			</li>
		<!-- END searchresults -->
		</ul>

		<span class="corners-bottom"><span></span></span></div>
	</div>
	<!-- ELSE -->
		<div class="panel">
			<div class="inner"><span class="corners-top"><span></span></span>
			<strong>{L_NO_SEARCH_RESULTS}</strong>
			<span class="corners-bottom"><span></span></span></div>
		</div>
	<!-- ENDIF -->
	<!-- ENDIF -->
<!-- INCLUDE simple_footer.html -->
Das hier <meta http-equiv="refresh" content="30"> bedeutet das dieses Popup-Fenster alle 3 Sek. aktualisiert.
Lade diese Datei in deinen template Ordner deines Styles.

Öffne: root/styles/stylename/template/overall_header.html

Finde:

Code: Alles auswählen

</head>
Davor einfügen:

Code: Alles auswählen

<script type="text/javascript" language="JavaScript">
<!--
function AutoPopUp() {

var dateiname = "{U_SEARCH_UNREAD_POSTS}";

eigenschaften= "left=10,top=10,";
eigenschaften= eigenschaften + "width=200,height=100,"

// hier andere Fenstereigenschaften festlegen:
// für ja den Wert von Null auf Eins ändern

eigenschaften= eigenschaften + "menubar=0";     // Menüleiste
eigenschaften= eigenschaften + "toolbar=0";     // Symbolleiste
eigenschaften= eigenschaften + "statusbar=0";   // Statuszeile
eigenschaften= eigenschaften + "scrollbars=yes";  // Scrollbars
eigenschaften= eigenschaften + "resizable=yes";   // Größe veränderbar
eigenschaften= eigenschaften + "locationbar=0"; // Adresszeile
eigenschaften= eigenschaften + "directories=0"; // Linkleiste


fenster04 = window.open(dateiname,"Titeltext",eigenschaften);
fenster04.focus();
}

window.setTimeout('AutoPopUp()', 4000);

//-->
</script>
Das hier window.setTimeout('AutoPopUp()', 4000); bedeutet das sich das Fenster nach 4 Sek. automatisch öffnet.
Die Position und Größe dieses Popup-Fensters kannst du in diesem Script nach belieben anpassen.

Öffne: root/includes/funtions.php

Finde:

Code: Alles auswählen

        'U_SEARCH_UNREAD'        => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=unreadposts'),
Danach einfügen:

Code: Alles auswählen

        'U_SEARCH_UNREAD_POSTS'    => append_sid("{$phpbb_root_path}unread_posts.$phpEx", 'search_id=unreadposts'),
Zum Schluß noch alle Cache leeren!

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 02.12.2013 19:34
von Knowhow-Sauger
Hallo Kirk,

erstmal ganz herzlichen Dank für die Mühe! :)

Jedoch meinte ich kein separates Fenster, sondern ein Button der unten rechts eingeblendet wird und der fixiert ist (der also auch beim scrollen nicht verschwindet).
So sollte es aussehen:
http://www.kurzehosenforum.com/screenhot-ub.png
Dass unten rechts also immer die ungelesenen Beiträge stehen. Ist doch praktisch, so kann man gleich von einem ungelesenen Thread zum Nächsten springen. So wie es jetzt ist, muss man ja immer wieder zuerst auf "ungelesene Beiträge" klicken.

Und leider funktioniert Deine Variante nicht. Ich bekomme folgende Fehlermeldung angezeigt:
In dem sich öffnenden Popup-Fenster steht:

Parse error: syntax error, unexpected $end in /home/.sites/110/site2750/web/cache/tpl_prosilver_unread_posts.html.php on line 13 :oops:

Vielleicht könntest Du nochmal schauen.

DANKE! :)

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 02.12.2013 19:50
von Kirk
Der Fehler liegt bei dir. :wink:
Deine unread_posts.html

Code: Alles auswählen

<!-- INCLUDE simple_header.html -->
    <meta http-equiv="refresh" content="30">
<!-- IF S_SHOW_TOPICS -->

   <!-- IF .searchresults -->
   <div class="forumbg">

      <div class="inner"><span class="corners-top"><span></span></span>
      <ul class="topiclist">
         <li class="header">
            <dl class="icon">
               <dt>{L_TOPICS}</dt>
               <dd class="posts">{L_REPLIES}</dd>
Meine unread_posts.html

Code: Alles auswählen

<!-- INCLUDE simple_header.html -->
    <meta http-equiv="refresh" content="30">
<!-- IF S_SHOW_TOPICS -->

   <!-- IF .searchresults -->
   <div class="forumbg">

      <div class="inner"><span class="corners-top"><span></span></span>
      <ul class="topiclist">
         <li class="header">
            <dl class="icon">
               <dt>{L_TOPICS}</dt>
               <dd class="posts">{L_REPLIES}</dd>
               <dd class="views">{L_VIEWS}</dd>
               <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
            </dl>
         </li>
      </ul>
      <ul class="topiclist topics">

      <!-- BEGIN searchresults -->
         <li class="row<!-- IF searchresults.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
            <dl class="icon" style="background-image: url({searchresults.TOPIC_FOLDER_IMG_SRC}); background-repeat: no-repeat;">
               <dt <!-- IF searchresults.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{searchresults.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
                  <!-- IF searchresults.S_UNREAD_TOPIC --><a href="{searchresults.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF -->
                  <a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}</a> {searchresults.ATTACH_ICON_IMG}
                  <!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED --><a href="{searchresults.U_MCP_QUEUE}">{searchresults.UNAPPROVED_IMG}</a> <!-- ENDIF -->
                  <!-- IF searchresults.S_TOPIC_REPORTED --><a href="{searchresults.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br />
                  <!-- IF searchresults.PAGINATION --><strong class="pagination"><span>{searchresults.PAGINATION}</span></strong><!-- ENDIF -->
                  {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} &raquo; {searchresults.FIRST_POST_TIME}
                  <!-- IF not searchresults.S_TOPIC_GLOBAL -->{L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a><!-- ELSE --> ({L_GLOBAL})<!-- ENDIF -->
               </dt>
               <dd class="posts">{searchresults.TOPIC_REPLIES}</dd>
               <dd class="views">{searchresults.TOPIC_VIEWS}</dd>
               <dd class="lastpost"><span>
                  {L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL}
                  <!-- IF not S_IS_BOT --><a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}</a> <!-- ENDIF --><br />{searchresults.LAST_POST_TIME}<br /> </span>
               </dd>
            </dl>
         </li>
      <!-- END searchresults -->
      </ul>

      <span class="corners-bottom"><span></span></span></div>
   </div>
   <!-- ELSE -->
      <div class="panel">
         <div class="inner"><span class="corners-top"><span></span></span>
         <strong>{L_NO_SEARCH_RESULTS}</strong>
         <span class="corners-bottom"><span></span></span></div>
      </div>
   <!-- ENDIF -->
   <!-- ENDIF -->
<!-- INCLUDE simple_footer.html -->
Was das andere anbelangt, schau wie du das link an der Seite eingebaut hast, so baust du es recht ein
und setzt den Code von der unread_posts.html dann dort rein.

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 02.12.2013 20:01
von Knowhow-Sauger
Ich kann zwischen den beiden Dateien keine Unterschiede feststellen. Ich habe 3x die beiden Datein verglichen. Wo soll da der Fehler sein? :oops:

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 03.12.2013 13:24
von Knowhow-Sauger
Der Code ist falsch. In dem Popup-Fenster steht:
Parse error: syntax error, unexpected $end in /home/.sites/110/site2750/web/cache/tpl_prosilver_unread_posts.html.php on line 13
Wäre nett wenn Du mir nochmal helfen könntest. Danke. :)

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 03.12.2013 17:30
von Kirk
Knowhow-Sauger hat geschrieben:Ich kann zwischen den beiden Dateien keine Unterschiede feststellen.
Wirklich nicht? Vergleiche es nochmal hier
Knowhow-Sauger hat geschrieben:Der Code ist falsch. In dem Popup-Fenster steht
Der Code ist schon richtig, habe es ja vorher getestet.

Nachtrag:
Man sollte dieses Script in der overall_header.html zwischen ein IF Statement setzen, damit die Gäste
kein Popup-Fenster zu sehen bekommen, weil deine Gäste nicht das Recht haben auf Ungelesene Beiträge zu gehen.

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 04.12.2013 01:46
von Knowhow-Sauger
Hallo Kirk,

es tut mir wirklich Leid, aber ich kann immer noch keine Unterschiede zwischen den beiden Dateien entdecken!
Und ich bin extra nochmal beide Dateien GANZ gründlich durchgegangen. Sorry, aber WO soll da bitte der Fehler sein? Und wo soll der Fehler überhaupt her kommen? Ich habe die Datei genau so kopiert wie Du sie mir geschickt hast. Ich habe nichts verändert.
:oops: :cry:

Re: Ungelesene Beiträge als Popup-Fenster

Verfasst: 04.12.2013 17:30
von Kirk
Wenn ich diesen Link aufrufe und mir den Quelltext anzeigen lasse, sehe ich folgendes:

Code: Alles auswählen

<!-- INCLUDE simple_header.html -->
    <meta http-equiv="refresh" content="30">
<!-- IF S_SHOW_TOPICS -->

   <!-- IF .searchresults -->
   <div class="forumbg">

      <div class="inner"><span class="corners-top"><span></span></span>
      <ul class="topiclist">
         <li class="header">
            <dl class="icon">
               <dt>{L_TOPICS}</dt>
               <dd class="posts">{L_REPLIES}</dd>
Und so sollte die unread_posts.html aussehen:

Code: Alles auswählen

<!-- INCLUDE simple_header.html -->
    <meta http-equiv="refresh" content="30">
<!-- IF S_SHOW_TOPICS -->

   <!-- IF .searchresults -->
   <div class="forumbg">

      <div class="inner"><span class="corners-top"><span></span></span>
      <ul class="topiclist">
         <li class="header">
            <dl class="icon">
               <dt>{L_TOPICS}</dt>
               <dd class="posts">{L_REPLIES}</dd>
               <dd class="views">{L_VIEWS}</dd>
               <dd class="lastpost"><span>{L_LAST_POST}</span></dd>
            </dl>
         </li>
      </ul>
      <ul class="topiclist topics">

      <!-- BEGIN searchresults -->
         <li class="row<!-- IF searchresults.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
            <dl class="icon" style="background-image: url({searchresults.TOPIC_FOLDER_IMG_SRC}); background-repeat: no-repeat;">
               <dt <!-- IF searchresults.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{searchresults.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF -->>
                  <!-- IF searchresults.S_UNREAD_TOPIC --><a href="{searchresults.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF -->
                  <a href="{searchresults.U_VIEW_TOPIC}" class="topictitle">{searchresults.TOPIC_TITLE}</a> {searchresults.ATTACH_ICON_IMG}
                  <!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED --><a href="{searchresults.U_MCP_QUEUE}">{searchresults.UNAPPROVED_IMG}</a> <!-- ENDIF -->
                  <!-- IF searchresults.S_TOPIC_REPORTED --><a href="{searchresults.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br />
                  <!-- IF searchresults.PAGINATION --><strong class="pagination"><span>{searchresults.PAGINATION}</span></strong><!-- ENDIF -->
                  {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} &raquo; {searchresults.FIRST_POST_TIME}
                  <!-- IF not searchresults.S_TOPIC_GLOBAL -->{L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a><!-- ELSE --> ({L_GLOBAL})<!-- ENDIF -->
               </dt>
               <dd class="posts">{searchresults.TOPIC_REPLIES}</dd>
               <dd class="views">{searchresults.TOPIC_VIEWS}</dd>
               <dd class="lastpost"><span>
                  {L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL}
                  <!-- IF not S_IS_BOT --><a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}</a> <!-- ENDIF --><br />{searchresults.LAST_POST_TIME}<br /> </span>
               </dd>
            </dl>
         </li>
      <!-- END searchresults -->
      </ul>

      <span class="corners-bottom"><span></span></span></div>
   </div>
   <!-- ELSE -->
      <div class="panel">
         <div class="inner"><span class="corners-top"><span></span></span>
         <strong>{L_NO_SEARCH_RESULTS}</strong>
         <span class="corners-bottom"><span></span></span></div>
      </div>
   <!-- ENDIF -->
   <!-- ENDIF -->
<!-- INCLUDE simple_footer.html -->
Wenn du jetzt die beiden vergleichst, dann siehst du das bei deinem Code einiges fehlt.