WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 05.02.2018 09:24:56

tomno399
Gast

Backend Images

Wenn ich mich nicht täusche, wurden früher die kleinen Images "Edit" oder "Modify" usw. bei der Installation zentral im Admin-Ordner gespeichert und konnten (beispielsweise aus dem Droplet "editthispage") mit  "$str .= THEME_URL . '/images/modify_16.png" alt="' . $HEADING['MODIFY_PAGE'] . '" />Edit Page</a>';" abgerufen werden.

Den Weg gibt es in der WBCE Version 1.3.1 nicht mehr (oder schon vorher?), das Image wird nicht gefunden. Wie soll man jetzt "zentral", also unabhängig vom Backend-Template verlinken?

Beitrag geändert von tomno399 (05.02.2018 09:37:36)

#2 05.02.2018 10:40:51

colinax
Developer

Re: Backend Images

Hi,

die Icons im admin pfad gibt es seit 1.3.0 nicht mehr.

es ist aber möglich die Icons mit WB_URL von überall zuladen.

Als alternative würde ich das Media Verzeichnis empfehlen.

Offline

#3 05.02.2018 18:08:06

tomno399
Gast

Re: Backend Images

Hmm,

ich habe zum Aufruf des Icons das Droplet "editthispage" (siehe erstes Post) abgeändert auf "WB_URL . '/templates/argos_theme_reloaded/images/modify_16.png" abgeändert. Wird dennoch nicht geladen. Was mache ich falsch?

#4 05.02.2018 18:25:20

colinax
Developer

Re: Backend Images

Da weder WB_URL noch THEME_URL funktioniert vermute ich dass ein Berechtigungsproblem besteht.

Kannst du in der Konsole nachschauen ob eine Meldung erscheint bzw kannst du mir einen Link zur Seite schicken

Offline

#5 05.02.2018 19:00:23

bernd
Developer

Re: Backend Images

Frage:
wird nur das Icon nicht geladen aber der Alt-Text angezeigt, oder wird gar nichts angezeigt?

Wenn gar nichts angezeigt werden sollte:
Ist in den Grundeinstellungen die Anmeldung aktiviert?


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#6 05.02.2018 20:00:43

tomno399
Gast

Re: Backend Images

@Bernd

Ich verwende das Original-Droplet und ich meine, da gibt es keinen sichtbaren Alt-Text. Siehe

foreach($admin->get_groups_id() as $cur_gid)
		if (in_array($cur_gid, $admin_groups)) $in_group = TRUE;
	if (($in_group) OR is_numeric(array_search($this_user, $old_admin_groups)) ) {
		$str  = '<a href="' . ADMIN_URL . '/pages/modify.php?page_id='.$this_page;
		$str .= '" target="_blank"><img align="left" border="0" src="';
		$str .= WB_URL . '/templates/argos_theme_reloaded/images/modify_16.png" alt="' . $HEADING['MODIFY_PAGE'] . '" />Edit Page</a>';

@Colinax hat eine PM von mir.

#7 05.02.2018 20:09:24

bernd
Developer

Re: Backend Images

doch gibt es:

alt="' . $HEADING['MODIFY_PAGE'] . '"

Deshalb ja der 2. Teil meiner obigen Frage ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#8 05.02.2018 20:15:50

tomno399
Gast

Re: Backend Images

Dann wird in dem Fall nichts angezeigt. Warten wir mal, was colinax herausfindet.

#9 05.02.2018 20:19:46

bernd
Developer

Re: Backend Images

Nochmal ;-)

Wenn gar nichts angezeigt werden sollte:
Ist in den Grundeinstellungen die Anmeldung aktiviert?

Das Droplet macht nur etwas, wenn das Frontend-Login eingeschaltet ist.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#10 05.02.2018 20:36:26

colinax
Developer

Re: Backend Images

@Bernd die Anmeldung ist aktiv.

Das Problem ist auch nicht nur ein einfaches fehlen des Icons sondern der gesamte Inhalt des Links wird nicht ins FE übnernommen.

Das Droplet lautet:

// This Droplet will show a link to the backend page editor. This is only shown when the user is logged in and has the correct permissions to edit the page in question.
global $wb, $page_id, $HEADING, $database, $admin;
$str = " ";		
if (FRONTEND_LOGIN == 'enabled' AND is_numeric($wb->get_session('USER_ID'))) {
	if ($page_id) 
		$this_page = $page_id;
	else
		$this_page = $wb->default_page_id;
	$results = $database->query("SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$this_page'");
	$results_array = $results->fetchRow();
	$old_admin_groups = explode(',', $results_array['admin_groups']);
	$old_admin_users = explode(',', $results_array['admin_users']);
	$this_user = $wb->get_session('GROUP_ID');
	$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '".$page_id."'";
	$get_pages = $database->query($query);
	$page = $get_pages->fetchRow();
	$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
	$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
	$in_group = FALSE;
	foreach($admin->get_groups_id() as $cur_gid)
		if (in_array($cur_gid, $admin_groups)) $in_group = TRUE;
	if (($in_group) OR is_numeric(array_search($this_user, $old_admin_groups)) ) {
		$str  = '<a href="' . ADMIN_URL . '/pages/modify.php?page_id='.$this_page;
		$str .= '" target="_blank"><img align="left" border="0" src="';
		$str .= WB_URL . '/templates/argos_theme_reloaded/images/modify_16.png" alt="' . $HEADING['MODIFY_PAGE'] . '" />Edit Page</a>';

	}      
}
return $str;

ausgegeben wird nur folgendes:

<a class="editlink" href="https://www.urladresse.de/admin/pages/modify.php?page_id=147" target="_blank">&nbsp;</a>

Leider bin ich mit den droplets nicht so vertaut, dass ich den Fehler finden kann.

Offline

#11 05.02.2018 20:46:17

colinax
Developer

Re: Backend Images

So ich habe jetzt noch etwas gefunden.

Laut style.css wird das Icon über die background Eigenschaft eingebunden.

Leider ist die Eigenschaft fehlerhaft und kann daher nicht angewendet werden.

daher weis ich auch nicht warum das icon dann nochmal im Droplet vorhanden ist.

Beitrag geändert von colinax (05.02.2018 20:46:59)

Offline

#12 05.02.2018 20:54:31

bernd
Developer

Re: Backend Images

Jetzt wird's ja ganz putzig ...
wo kommt denn das class="editlink" her?
Im droplet string ist es nicht enthalten

$str  = '<a href="' . ADMIN_URL . '/pages/modify.php?page_id='.$this_page;
		$str .= '" target="_blank"><img align="left" border="0" src="';
		$str .= WB_URL . '/templates/argos_theme_reloaded/images/modify_16.png" alt="' . $HEADING['MODIFY_PAGE'] . '" />Edit Page</a>';

Tümpelt da noch irgendwie ein jQuery oder JavaScript dazwischen?
Und was tut sich alles im .css bezüglich der Klasse?

Um welches Template geht es denn?


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#13 05.02.2018 21:40:02

tomno399
Gast

Re: Backend Images

Ich stellte vergangenes Jahr von WB283SP4 auf WBCE 1.3 um. Bis zur Umstellung lief das Droplet einwandfrei. Wann das Icon verschwand, kann ich nicht mit Bestimmtheit sagen. Danach erfolgte nur das Update auf 1.3.1 und das Modul Cookie Content. Alle andren Scripte liefen auch vorher. Es kam noch ein Update vom Backend hinzu.c

Beitrag geändert von tomno399 (05.02.2018 21:42:01)

#14 05.02.2018 21:41:12

colinax
Developer

Re: Backend Images

@bernd hast pm

template ist sobresot

Offline

#15 05.02.2018 22:06:45

bernd
Developer

Re: Backend Images

Sorry, aber da ist kein Droplet weit und breit.
Im Template steht:

if ($wb->is_authenticated()) {
			 $user_id = (int) $wb->get_user_id();
			 if ($user_id === 1) {echo '<a class="editlink" href="'.ADMIN_URL.'/pages/modify.php?page_id='.PAGE_ID.'" target="_blank">&nbsp;</a>'; unset($user_id);}
		} 

Und genau das macht es auch, nämlich den Link ohne Inhalt generieren ...
Must einfach mal an der Stelle auf Verdacht ins Leere klicken, funktioniert.

Und da kommt wieder Colinax Feststellung aus #11 ins Spiel, das ungültige background-image in der style.css

Das Einfachste dürfte wohl sein, den Schnippsel rauszuschmeißen und durch den Aufruf des Original Droplets zu ersetzen

Beitrag geändert von bernd (05.02.2018 22:20:26)


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

colinax

#16 06.02.2018 07:03:03

florian
Administrator

Re: Backend Images

Das ist alles sehr mysteriös.
Ich habe hier eine Testinstallation WBCE 1.3.1 mit Sobresot und EdiThisPage-Droplet. Sowohl der Edit-Icon aus dem Template (rechts oben) als auch bei entsprechendem Aufruf in der Seite aus dem Droplet (links) werden angezeigt.
attachment.php?item=1209&download=1
Im Droplet steht

...
if (($in_group) OR is_numeric(array_search($this_user, $old_admin_groups)) ) {
		$str  = '<a href="' . ADMIN_URL . '/pages/modify.php?page_id='.$this_page;
		$str .= '" target="_blank"><img align="left" border="0" src="';
		$str .= THEME_URL . '/images/modify_16.png" alt="' . $HEADING['MODIFY_PAGE'] . '" />Edit Page</a>';
	}  
...

Für den Edit-Link aus dem Template wird /templates/sobresot/images/edit.gif verwendet, bitte mal prüfen, ob dieses Bildchen vorhanden ist.

Beitrag geändert von florian (06.02.2018 07:05:29)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

colinax

#17 06.02.2018 08:42:00

tomno399
Gast

Re: Backend Images

Also zuallererst herzlichen Dank Euch allen!
Wenn ich das als PHP-Laie rekapituliere, dann wird das Droplet in meiner Seite NICHT verwendet, sondern der Edit-Aufruf ist im Template Sobresot Version 0.5 fest verdrahtet und soll nach der Frontendanmeldung sichtbar werden (so war es früher). Soweit meine ich das kapiert zu haben. Nun heißt es, die style.css arbeitet nicht so, wie gewünscht; das Icon edit.gif

[== CSS ==]
a.iframeedit, a.sidebaredit, a.editlink, .mod_topic_edit { padding: 3px 6px 4px 10px; background:  url(../images/edit.gif) no-repeat 5px 5px; left 3px;}
a.editlink {display:block; float:right; }

wird nicht geladen.
Warum weiß ich leider nicht.

@Florian: Das Icon ist im Templateunterordner.

Ich habe heute das Template Sobresot Version 0.6 lokal auf Xampp in WBCE 1.3 installiert, da taucht noch nicht mal der Schlüssel zur Frontendanmeldung auf. Irgendwie fehlt da ein Script vermute ich. Auch nach einer Backendanmeldung fehlt das Edit-Icon, der Link ist aber da. EDV = Ende Der Vernunft. Allerdings wurde Sobresot noch für WB 2.7 gebaut, möglich ist also, das die neuen Queries ältere Befehle nicht mehr abarbeiten, so mein Glaube.

Nichtsdestotrotz, ich kann damit Leben, bis ich mal eine Neuinstallation mache und mir ein neues Template aussuche.

Beitrag geändert von tomno399 (06.02.2018 08:45:55)

#18 06.02.2018 08:59:24

florian
Administrator

Re: Backend Images

Ich habe heute das Template Sobresot Version 0.6 lokal auf Xampp in WBCE 1.3 installiert, da taucht noch nicht mal der Schlüssel zur Frontendanmeldung auf.

Grundeinstellungen > Anmeldung aktiviert? (Das ist was anderes als "nur" am Backend angemeldet zu sein)

Bitte mal einen Link zur Seite. Es kann eigentlich nur eine Lappalie sein.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#19 06.02.2018 09:06:31

tomno399
Gast

Re: Backend Images

@Florian
Ich Trottel habe die Grundeinstellung lokal vergessen. Danke für den Tipp, der Schlüssel ist da, das Icon nicht. Du hast eine PM.

#20 06.02.2018 09:23:35

florian
Administrator

Re: Backend Images

So, nu isser da, da war ein Syntaxfehler im Stylesheet.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#21 06.02.2018 09:29:32

tomno399
Gast

Re: Backend Images

Super, danke! Aber lasse mich bitte nicht dumm sterben. Was hast Du genau gemacht?

#22 06.02.2018 09:36:35

florian
Administrator

Re: Backend Images

In der /templates/sobresot/jscss/style.css ist schon im Originaltemplate der Link zum Edit-Icon nicht 100% korrekt, darin steht

a.iframeedit, a.sidebaredit, a.editlink, .mod_topic_edit { 
padding: 3px 6px 4px 10px;
 background:  url(../images/edit.gif) no-repeat 5px 5px; left 3px;}
a.editlink {display:block; float:right; }

Man beachte das Semikolon nach dem zweiten 5px - die Anweisung "left 3px" steht also ohne alles da herum, stört aber nicht und fällt daher nur bei einer genaueren Prüfung auf.
Im angepassten style.css auf Deiner Seite war das Semikolon raus - dadurch war dann aber die Positionierungsangabe für das Edit-Icon nicht mehr interpretierbar, sodass das Icon verschwand. Ich habe nun einfach nur das überflüssige "left 3px;"  löschen müssen.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#23 06.02.2018 09:53:57

tomno399
Gast

Re: Backend Images

Ich bin beeindruckt, dass Du das mit bloßem Auge siehst. Ich habe lokal jetzt das Semikolon nach dem zweiten 5px eingefügt und das 3px stehen gelassen. Das funktioniert auch. Gibt es für solche Sachen eigentlich ein CSS-Syntax-Tool?

#24 06.02.2018 10:07:26

florian
Administrator

Re: Backend Images

Naja, ich musste auch 3x hinschauen.

CSS-Editoren und Code-Editoren mit Syntaxhighlighting gibt es einige, ich selbst arbeite aber nur mit Notepad++.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Fußzeile des Forums

up