Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 8
Seite [1]
tobimo


King for a day




Beiträge: 253
# Thema - 11.11.2010 um 17:42 Uhr
Hallo,

ich will mir in der articles navlist zusätzlich den Autor anzeigen lassen:

doch der Code hier scheint falsch zu sein, bei CSP 2009 hat er noch geklappt:

.php - in Zeile 12 ($select): usr.users_nick AS users_nick,
.php - zwischen Zeile 28&29 (vor $run++): $data['articles'][$run]['users_nick'] = cs_secure($articles['users_nick']);
als Platzhalter in der .tpl: {articles:users_nick}


Wo ist der Fehler?


Zuletzt editiert von tobimo am 11.11.2010 um 17:55 Uhr (4x Editiert)
Inaktiv
palle ClanSphere Team

Supporter
Supporter




Beiträge: 3073
# Antwort: 1 - 11.11.2010 um 18:13 Uhr
ich hab das Thema mal aboniert.
Bin jetzt noch bis ca. 20.00uhr unterwegs, dann können wir mal Schaun :]


------------------
I like the part where it says 'nyan'



Zuletzt editiert von palle ClanSphere Team am 11.11.2010 um 19:23 Uhr (1x Editiert)
Inaktiv
|
tobimo
Thread-Ersteller


King for a day




Beiträge: 253
# Antwort: 2 - 11.11.2010 um 19:15 Uhr
Alles klar! Danke!


Inaktiv
|
palle ClanSphere Team

Supporter
Supporter




Beiträge: 3073
# Antwort: 3 - 11.11.2010 um 21:06 Uhr
dein fehler ist das du eine spalte ansprechen möchtest die gar nicht in der tabelle articles vorhanden ist ( users_nick ).

hier die lösung:
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

$cs_lang cs_translate('articles');
$cs_get cs_get('catid');
$cs_option cs_sql_option(__FILE__,'articles');
$data = array();

//cut headline after...
$figures 15;

$select 'ar.articles_id AS articles_id, ar.articles_headline AS articles_headline, ar.articles_time AS articles_time, usr.users_id AS users_id, usr.users_nick AS users_nick, usr.users_active AS users_active, usr.users_delete AS users_delete';
$check 'ar.articles_navlist > \'0\' AND cat.categories_access <= \'' $account['access_articles'] . '\'';
if(!empty(
$cs_get['catid'])) {
  
$check .= ' AND cat.categories_id = ' $cs_get['catid'];
}
$order 'ar.articles_time DESC';
$tables 'articles ar INNER JOIN {pre}_categories cat ON ar.categories_id = cat.categories_id INNER JOIN {pre}_users usr ON ar.users_id = usr.users_id';
$cs_articles cs_sql_select(__FILE__,$tables,$select,$check,'ar.articles_time DESC',0,$cs_option['max_navlist']);

if(empty(
$cs_articles)) {
  echo 
$cs_lang['no_data'];
}
else {
  if(
$cs_option['max_navlist'] == 1)
    
$cs_articles = array(=> $cs_articles);

  
$run 0;
  foreach (
$cs_articles AS $articles) {
    
$data['articles'][$run]['users_link'] = cs_user($articles['users_id'],$articles['users_nick'],$articles['users_active'], $articles['users_delete']).' ';
    
$data['articles'][$run]['articles_time'] = cs_date('unix',$articles['articles_time'],1,1,0);
    
$short strlen($articles['articles_headline']) <= $figures $articles['articles_headline'] : cs_substr($articles['articles_headline'],0,$figures) . '...';
    
$data['articles'][$run]['articles_url'] = cs_url('articles','view','id=' $articles['articles_id']);
    
$data['articles'][$run]['articles_short'] = cs_secure($short);
    
$data['articles'][$run]['articles_headline'] = cs_secure($articles['articles_headline']);
    
$run++;
  }
  echo 
cs_subtemplate(__FILE__,$data,'articles','navlist');
}


in die navlist.tpl musst du nun folgendes eintragen:
{articles:users_link}


------------------
I like the part where it says 'nyan'



Zuletzt editiert von palle ClanSphere Team am 11.11.2010 um 21:07 Uhr (1x Editiert)
Inaktiv
|
tobimo
Thread-Ersteller


King for a day




Beiträge: 253
# Antwort: 4 - 13.11.2010 um 21:12 Uhr
Also in $select muss:
usr.users_id AS users_id, usr.users_nick AS users_nick, usr.users_active AS users_active, usr.users_delete AS users_delete';

aber du fragst doch auch usr.users_nick AS users_nick ab?
genauso wie ich: usr.users_nick AS users_nick ?
also warum klappt es bei dir und bei mir nicht? ich meine du hast ja dann nur noch users_id/_active/_delete miteingefasst. Warum machst du das eigentlich?



Inaktiv
|
palle ClanSphere Team

Supporter
Supporter




Beiträge: 3073
# Antwort: 5 - 13.11.2010 um 22:29 Uhr
also warum klappt es bei dir und bei mir nicht?

weil ich per inner join operation die tabelle user ansprechen was du nich getan hast.
active und delete werden mit abgefragt weil ich die funktion cs_user verwende.


------------------
I like the part where it says 'nyan'



Inaktiv
|
tobimo
Thread-Ersteller


King for a day




Beiträge: 253
# Antwort: 6 - 14.11.2010 um 01:01 Uhr
was war nochmal die Funktion von active und delete? Also das hat ja damit was zu tuen ob der Benutzer noch existiert etc oder? Weiß nur nicht mehr genau wofür was war.

Werde das morgen mal ausprobieren mit den Code-Änderungen. Danke dafür!


Das mit dem Autor klappt nun. Danke!







Habe versucht den Kategorie-Namen auszulesen
 
1.
2.
3.
4.
5.
1. / 2. / ... 
 
 
{categories:categories_name}  in tpl
in $select
cat.categories_name AS categories_name
in $foreach
:     $data['articles'][$run]['categories_name'] = cs_secure($articles['categories_name']);


Doch irgendwie ersetzt er mir den Platzhalter nicht, irgendwelches klappt da also nicht. Wo ist da der Fehler?


Zuletzt editiert von tobimo am 14.11.2010 um 15:45 Uhr (2x Editiert)
Inaktiv
|
palle ClanSphere Team

Supporter
Supporter




Beiträge: 3073
# Antwort: 7 - 14.11.2010 um 21:53 Uhr
 
1.
1. / 2. / ... 
 {categories:categories_name}

gegen
 
1.
1. / 2. / ... 
 {articles:categories_name}

ersetzen


------------------
I like the part where it says 'nyan'



Inaktiv
|
tobimo
Thread-Ersteller


King for a day




Beiträge: 253
# Antwort: 8 - 15.11.2010 um 14:15 Uhr
Stimmt, leuchtet ein. Danke!!


Inaktiv
|

Dieses Thema wurde von palle ClanSphere Team PM geschlossen.

Antworten: 8
Seite [1]