Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 6
Seite [1]
itsmeJAY


Rock the board





Beiträge: 56
# Thema - 28.03.2015 um 12:43 Uhr
Hi Community,

ich habe die Profilfelder nur einblenden lassen wenn eine Eingabe erfolgt ist und zwar mit:

 
1.
1. / 2. / ... 
 $data['if']['icq'] = strlen($cs_user['users_icq']) > 0;

und in der .tpl Datei halt {if:icq} und {stop:icq}

aber irgendwie will es bei ICQ nicht klappen, bei allen anderen schon.. Wo habe ich den Fehler gemacht? Hier mal der Code:


mods/users/view.php


 
1.
2.
3.
4.
5.
6.
1. / 2. / ... 
   $content cs_html_link('http://www.icq.com/people/' $cs_user['users_icq'],$cs_user['users_icq']);
  if(
in_array('users_icq',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['icq'] = empty($cs_user['users_icq']) ? '--' $content;
$data['if']['icq'] = strlen($cs_user['users_icq']) > 0;


themes/base/users/view.tpl

 
1.
2.
3.
4.
1. / 2. / ... 
   {if:icq}<tr>
    <
td class="leftc">{icon:licq} {lang:icq}</td>
    <
td class="leftb">{users:icq}</td>
  </
tr>{stop:icq}


Bin für jede Hilfe dankbar... Komm da echt nicht weiter - bei allen anderen Felder macht er es! :X

Gruß
Inaktiv
Schalla ClanSphere Team

Supporter
Supporter




Beiträge: 1287
# Antwort: 1 - 28.03.2015 um 13:04 Uhr
Probiers da mal mit:

 
1.
1. / 2. / ... 
 $data['if']['icq'] = !empty($cs_user['users_icq']));


Könnte sein das da irgendjemand die Idee hatte ICQ als Nummer im Datenbank Schema zu speichern.


Inaktiv
|
itsmeJAY
Thread-Ersteller


Rock the board





Beiträge: 56
# Antwort: 2 - 28.03.2015 um 13:33 Uhr
Hi,

klappte nicht ganz, aber die Idee war richtig..

 
1.
1. / 2. / ... 
  $data['if']['icq'] = !empty($cs_user['users_icq']));
hatte ein ) zu viel!

Aber danke Schalla.. Läuft.. =)


Zuletzt editiert von itsmeJAY am 28.03.2015 um 13:33 Uhr (1x Editiert)
Inaktiv
|
Schalla ClanSphere Team

Supporter
Supporter




Beiträge: 1287
# Antwort: 3 - 28.03.2015 um 13:49 Uhr
Super.


Inaktiv
|
itsmeJAY
Thread-Ersteller


Rock the board





Beiträge: 56
# Antwort: 4 - 28.03.2015 um 15:40 Uhr
Wo war da denn genau der Unterschied? Versuchs bis jetzt nachzuvollziehen, versteh's aber noch nicht :X!


Inaktiv
|
Schalla ClanSphere Team

Supporter
Supporter




Beiträge: 1287
# Antwort: 5 - 28.03.2015 um 16:56 Uhr
empty() is true (also negiert false für den Fall) wenn der Input:
- 0
- null
- false
- [] (leeres Array)

ist.

Das ICQ Feld war vermutlich als integer angelegt mit 0 oder NULL als default, d.h. strlen() war in dem Fall 1 und nicht 0. Empty ist aber weiterhin true, weil es eben 0 oder NULL ist.

Hoffe das erklärt es.

Viele Grüße,
Daniel


Inaktiv
|
itsmeJAY
Thread-Ersteller


Rock the board





Beiträge: 56
# Antwort: 6 - 28.03.2015 um 17:10 Uhr
Vielen Dank Schalla..


Inaktiv
|
Antworten: 6
Seite [1]


Sie müssen sich registrieren, um zu antworten.