Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post non-phpwcms related topics here - but I don't want to see "hey check this or that other cms". Post if you have a point or worthwhile comment, don't post just to increase you post count!
Post Reply
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by pepe »

Hallo Freunde und Liebhaber von phpwcms,

ich würde gerne allen ContentParts, die mit der Markierung "nur für angemeldete Frontend Benutzer" versehen sind, eine spezielle Klasse (z.B.: .fe-user-only) mit auf den Weg geben, so dass ich die so gekennzeichneten CPs im Frontent auf geeignete Weise optisch deutlicher ins Auge springen lassen kann.

Wie das mit einem RT funktioniert, ist mir schon klar,
nein es soll NUR durch das Setzen des Häkchens erledigt werden können!

Hat jemand einen Ansatz für mich, in welche Datei und an welcher Stelle ich da "eingreifen" müsste :?:

Danke fürs Nachdenken :D
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by juergen »

Wo magst du das Häkchen denn hinkleben lieber Pepe ? :) vor das Login oder nach das Login ?
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by pepe »

Das Häkchen setze ich hinter das für die Veröffentlichung des CP... da wo es vorgesehen und vorhanden ist, ganz normal im Eingabeformular der CPs.
Ansonsten kommt ja niemand in mein Backend, da bin ich sehr "eigen" :lol:

PS
In Wirklichkeit findet sich kaum ein anderer Dummer, der die Fleissarbeit der Eingabe übernehmen will :(
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by juergen »

Ich schmeiss dich jetzt so lange mit Halbwissen voll bis Oliver kommt und sagt wies geht ... :D

Proboier mal sowas:

[PHP]
if( FEUSER_LOGIN_STATUS )
{echo "<div class='black_in_black'>";}
ELSE
{echo "<div class='schwarz auf_weiss'>";}
[/PHP]

aaaaaaah, damit ich dir gleich den Schneid abkaufe .... das machst du schön von Hand vor jeden betreffenden CP ... ansonsten muss der Haken in einem Trigger abgebaggert werden , bei meiner Lösung hab ich dir gleich den ganzen Haken erspart :lol:
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by pepe »

so etwa (allerdings mit dem vorhandenen RT) hab ichs ja bisher schon gemacht... nur wozu haben wir so ein feines Häkchen, wenn wir damit nix weiter machen können :roll:

Wo wird das Häkchen abgefragt :?:
User avatar
Cipolla
Posts: 451
Joined: Sat 16. Feb 2008, 20:39
Location: Muppet Show

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by Cipolla »

Verstehe ich jetzt nicht.

Im Template kannst du doch einfach ein

Code: Select all

<!--LOGGED_IN_START//-->
<div id="logged_in_class">
<!--LOGGED_IN_END//-->
....{CONTENT} bla bla
<!--LOGGED_IN_START//-->
</div>
<!--LOGGED_IN_END//-->
Brauchst doch nicht vor jeden CP packen... Den Rest dann per CSS.

Jeder Style, der im DIV "logged_in_class" bekommt dann deine speziellen Formatierungen. Zur not mit !important...

or am i missing something?
...
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by pepe »

Cipolla, so mach ich das auch bisher...

allerdings geht es mir darum, jeden einzelnen Contentpart abhängig vom Häkchen "nur für FE-User" mit dieser "Zusatzklasse" ausrüsten zu können... egal wo im Artikel also ein CP angeordnet ist,
Wird der Haken gesetzt, wird für alle angemeldeten Besucher der CP "sichtbar" und kann per spezial Klasse gesonders "markiert" werden.

Also nicht begrenzt auf spezielle Bereiche oder CustomBlocks!


Mal ein "vollkommen unrealistisches und aus der Luft gegriffenes Beispiel" zum einfacheren Verständnis:
Stell dir vor - mal absolut "virtuell" gesponnen - ich habe ein Online Nachschlagebuch für phpwcms vorbereitet,
nennen wir es einfach mal

pepes phpwcms Tipps &Tricks - Von den ersten Schritten zur perfekten Internetgestaltung
Eine Ideensammlung zum Nachmachen - Auch für Senioren geeignet


Das normale "Buch" besteht aus ca. 1.600 Seiten (Artikeln) pro Sprache, die für jeden online-surfer zugänglich sind.

Jeder, der nun einen kleinen Obulus - von sagen wir mal 5 Euronen - entrichtet, bekommt einen Zugangscode und ihm werden jetzt Zusatzinformationen innerhalb der 1.600 Seiten freigeschalte. 1000de von wissenswerten CPs zusätzlich also.

Die werden dann nicht einfach in einen zusammenhängenden Block ans Ende der Artikel gepackt und so aus dem Zusammenhang gerissen, nein, die sollen jeweils passend an der richtigen Stelle im Sinnzusammenhang in die Artikel eingeknüpft werden.

Also weiterführende Links, Codemuster, Tabs oder Grafiken, Downloads... alles, was man so gebrauchen kann... und hier schon ewig in der Schublade rumfliegt, dem langsamen Vergessen entgegen schlummernd.

Damit man diese Bonbons aber auf der Menge an Seiten dann auch auf einen Blick findet, sollen die eine entsprechend deutliche Hintergrundfarbe/Rahmen bekommen.

Jetzt Verstanden, was ich damit machen möchte... dein Weg wäre mir zu zeitaufwändig... bei der Menge an CPs :(
Da geht das mit einem Häkchen schneller, wenn ich die passende Stelle in dem Wust an Dateien nur finden würde...
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by flip-flop »

Hallo Manfred,

wenn ich das richtig verstehe sollte das mit einem einfachen CP-Trigger funktionieren (Mit die genialste Funktion in phpwcms).
Mit der CP-Trigger Funktion können alle Zustände und Schalter des jeweiligen CPs abgefragt werden. Darauf kannst du dann im Script entsprechend reagieren.

In diesem Fall werden alle CPs ohne Ausnahme geparst. Der Trigger schaut einfach nach ob "$data['acontent_granted'] == true" (also der Schalter "[x] nur für angemeldete Frontend Benutzer" im CP gesetzt) und legt eine Klasse um die jeweilige CP-Ausgabe.

Siehe dazu: http://www.phpwcms-howto.de/wiki/doku.p ... cp_trigger

Code: Select all

<?php
 
// http://forum.phpwcms.org/viewtopic.php?p=107107#p107107
/* ------------------------------------------------------------------
function cp_trigger_function_name($param1, & $param2) {
   if($param2['acontent_type'] == 14) { // 14 is CP WYSIWYG
      $param1 = do_this_or_that($param2['acontent_id']);
   }
   return $param1;
}
 
* cp_trigger_function_name - the unique function name
* $param1 - holds the content part html source on which you can parse or do custom processing
* $param2 - is a reference to an array which holds content part values like ID, dates and other values - see db table phpwcms_articlecontent
 
Always return $param1;
*/
// ------------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); }
// ------------------------------------------------------------------
 
 
function CLASS_for_logged_in_user($text, & $data) {

// Abfrage nach bestimmten CP Typ entfaellt, da alle gemeint sind
//	if($data['acontent_type'] == 29) { // 29 is CP img div

	if ($data['acontent_granted']) {
	
		$text = '<div class="logged-in-class">'.LF.$text.LF.'</div>';
	}
	
	return $text;
}
register_cp_trigger('CLASS_for_logged_in_user');
 
 
/* ------- and the next one
function CP_Other_CP($text, & $data) {
   if($data['acontent_type'] == XX) { // XX is CP Other CP
      $text = custom processing ;
   }
   return $text;
}
register_cp_trigger('CP_Other_CP');
---------- and so on */
 
?>
Die Kurzform:

Code: Select all

<?php
// ------------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); }
// ------------------------------------------------------------------

function CLASS_for_logged_in_user($text, & $data) {

	return ($data['acontent_granted']) ? '<div class="logged-in-class">'.LF.$text.LF.'</div>': $text;
}

register_cp_trigger('CLASS_for_logged_in_user');
?>
Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by pepe »

Danke Knut,

das sieht doch mal interessant aus. Werde ich gleich mal versuchen.

Diese Trigger-Geschichte muss ich mir dann doch wohl mal genauer unter die Lupe nehmen, mir schwebt da so einiges durch den Kopf, an Dingen die ich damit vielleicht realisieren könnte...
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by pepe »

So, habs natürlich sofort getestet...und klappt PRIMA, allererste Sahne :!:

Aber, Knut, ich hatte von deinem Lösungsansatz auch nichts anderes erwartet.
Wenn ich denke, was ich da künftig an Zeit einsparen kann... besonders bei größeren Sites.

Na, da werde ich doch wohl noch einmal etwas tiefer in phpwcms einsteigen müssen, bei den neuen Möglichkeiten :D


Mein Test sieht auf dem localhost jetzt so aus:
Die im Artikel "verstreuten", farbig hinterlegten Felder sind nur für angemeldete FE-User sichtbar.
Die Hintergrundmarkierung durch Farbe und Rahmen wird nur durch Setzen des Häkchens im CP gesteuert.
flip-flops Script macht den Rest... ich habe nur noch die Class in die frontend.css eingefügt und "formatiert"... fertig!
So hatte ich mir das vorgestellt.
Danke Knut :)

Image
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by update »

Einfach einfach (stotter) :)
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Spezielle Klasse nur für "angemeldete FEuser" möglich?

Post by juergen »

Ich bin dafür dass Knut 2,50 EUR pro Aufruf überwiesen wird, das Script müsste diesbezüglich noch auf Paypal angepasset werden ;-)
Post Reply