Nur mal so, was mich schon länger stört und wohl relativ leicht zu ändern wäre:
Mir ging es schon öfter so das ich bei größeren CP-Projekten Rubriken mit mehrfach gleichem Namen habe. Wenn ich nun einen Artikel verschiebe erscheinen im Pulldown nur die Rubrik-Namen. Viel besser wäre es wenn dort aber der vollständige Rubrik-Pfad (wie in der Titel-Navigation) zu sehen wäre. Sonst muss ich immer ins blau hinhein auswählen, probieren und hoffen die richtige Rubrik zu erwischen! Schön wäre auch wenn es zu dem Button "Artikel verschieben" noch einen ähnlichen Button gebe wie "Artikel verschieben & in Rubrik springen". Spart oftmals viel Zeit, vor allem bei größeren Rubrikstrukturen.
Gleiches Problem mit dem Rubriknamen gibt es auch bei:
Artikel bearbeiten->HTML (popup)
wenn man eine Rubrik als Link auswählen will
Navigation bearbeiten:
bei Rubrik-Zuordnung
Grüße
Stefan
Rubrikname - Artikel verschieben
- baluo
- ConPresso-Experte
- Beiträge: 607
- Registriert: 14.11.2005 12:17
- Hat sich bedankt: 216 Mal
- Danksagung erhalten: 11 Mal
Re: Rubrikname - Artikel verschieben
Ich habe das bisher nach der Struktur der Navigation geloest:stefann hat geschrieben:Mir ging es schon öfter so das ich bei größeren CP-Projekten Rubriken mit mehrfach gleichem Namen habe. Wenn ich nun einen Artikel verschiebe erscheinen im Pulldown nur die Rubrik-Namen. Viel besser wäre es wenn dort aber der vollständige Rubrik-Pfad (wie in der Titel-Navigation) zu sehen wäre.
Rubrik A
> Rubrik AA
>> Rubrik AAA
Rubrik B
...
Daraus gewinne ich fuer die Rubrik der dritten Ebene diese Rubrik-Bezeichnung: "A_AA_AAA"
z.B.
A = wir
AA = wir_kontakt
AAA = wir_kontakt_wegbeschreibung
Damit werden die Rubriken in den Auswahlfeldern auch korrekt sortiert.
Gruss, Gerhard
-
- ConPresso-User
- Beiträge: 34
- Registriert: 31.07.2006 09:33
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 4 Mal
Hab deinen Tip leider zu spät gelesen! Trtozdem danke! Ich hatte mich am wochenende dran gemacht und die Selectbox beim Artikel verschieben angepasst. Hab mir den entsprechenden Code aus der Titelnavigation geklaut...
Eigentlich recht unkompliziert... Einfach die Datei ./_admin/articles.php öffnen.
Suche:
ersetzte mit:
und nun hat man eine Selectbox mit voll ausgeschriebenen Pfaden. Bei mir Funktionierts ohne Probleme mit der Version 4.0.7.
Grüße
Stefan
Eigentlich recht unkompliziert... Einfach die Datei ./_admin/articles.php öffnen.
Suche:
Code: Alles auswählen
case 'move': // {{{
require(CPO_BASEDIR.'_include/header.php');
$db = new DB;
$query = "SELECT titel "
."FROM ".CPO_NEWS." "
."WHERE nr='".addslashes($_POST['nr'])."'";
$db->query($query);
$db->next_record();
$titel = $db->v('titel');
printPageHeader(
___('Move article'),
sprintf(___('In this view you can move the article %s into another rubric. If the used article-template is not allowed in the new rubric, the standard template of the new rubric will be used.'),
'<em>'.htmlspecialchars($titel).'</em>'
),
'articles-listarticles.html#articles-listarticles-movearticle'
);
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input type="hidden" name="action" value="articles_moveto">
<input type="hidden" name="nr" value="<?php echo htmlspecialchars($_POST['nr']); ?>">
<table class="colored" style="width: 100%;"><thead>
<tr>
<th colspan="2"><span><?php echo ___('Article'); ?></span></th>
</tr>
</thead><tbody>
<tr>
<td class="leftrow"><?php echo ___('Article:'); ?></td>
<td class="rightrow">
<?php echo htmlspecialchars($titel); ?>
</td>
</tr>
<tr>
<td><?php echo ___('Move article into rubric:'); ?></td>
<td>
<?php
$query = "SELECT rubric_id, name "
."FROM ".CPO_RUBRIC.", ".CPO_PERMISSION." "
.'WHERE rubric_id='.CPO_RUBRIC.'.id '
."AND rubric_id!='".addslashes($_SESSION['SID_rubric_id'])."' "
.'AND (stufe1=1 OR stufe2=1) '
.'AND user_id='.(int)$_SESSION['SID_user']['id'].' '
."ORDER BY name";
$db->query($query);
print('<select name="move_target" size="1">');
while($db->next_record()) {
printf('<option value="%s">%s</option>',
htmlspecialchars($db->v('rubric_id')),
htmlspecialchars($db->v('name'))
);
}
print('</select>');
print(help('articles-listarticles.html#articles-listarticles-movearticle-rubric'));
?>
</td>
</tr>
<tr>
<td> </td>
<td>
<?php
echo '<input type="submit" class="button" value="'.___('move article').'"> ';
echo '<input type="submit" name="cancel" class="button" value="'.___('cancel').'">';
echo '</form>';
?>
</td>
</tr>
</table>
<?php
require(CPO_BASEDIR.'_include/footer.php');
break; // }}}
Code: Alles auswählen
case 'move': // {{{
require(CPO_BASEDIR.'_include/header.php');
$db = new DB;
$query = "SELECT titel "
."FROM ".CPO_NEWS." "
."WHERE nr='".addslashes($_POST['nr'])."'";
$db->query($query);
$db->next_record();
$titel = $db->v('titel');
printPageHeader(
___('Move article'),
sprintf(___('In this view you can move the article %s into another rubric. If the used article-template is not allowed in the new rubric, the standard template of the new rubric will be used.'),
'<em>'.htmlspecialchars($titel).'</em>'
),
'articles-listarticles.html#articles-listarticles-movearticle'
);
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input type="hidden" name="action" value="articles_moveto">
<input type="hidden" name="nr" value="<?php echo htmlspecialchars($_POST['nr']); ?>">
<table class="colored" style="width: 100%;"><thead>
<tr>
<th colspan="2"><span><?php echo ___('Article'); ?></span></th>
</tr>
</thead><tbody>
<tr>
<td class="leftrow"><?php echo ___('Article:'); ?></td>
<td class="rightrow">
<?php echo htmlspecialchars($titel); ?>
</td>
</tr>
<tr>
<td><?php echo ___('Move article into rubric:'); ?></td>
<td>
<?php
print('<select name="move_target" size="1">');
// fetch all rubrics this user has access to
$query = 'SELECT rubric_id '
.'FROM '.CPO_PERMISSION.' '
."WHERE user_id='".addslashes($_SESSION['SID_user']['id'])."' ";
DEBUG(1, $query, __FILE__, __LINE__);
$db = new DB;
$db->query($query);
$rubricAccess = array();
while ($db->next_record()) {
$rubricAccess[$db->v('rubric_id')] = true;
}
// fetch all rubrics to show the ones not in navigation
$query = 'SELECT id, name, seclevel '
.'FROM '.CPO_RUBRIC.' '
.'ORDER BY name';
DEBUG(1, $query, __FILE__, __LINE__);
$db->query($query);
$notInNavigation = array();
while ($db->next_record()) {
$notInNavigation[$db->v('id')] = array(
'id'=>0,
'l'=>0,
'r'=>0,
'level'=>1,
'childs'=>0,
'caption'=>'',
'navigation'=>array(),
'rubric'=>array('id'=>$db->v('id'), 'name'=>$db->v('name'), 'seclevel'=>$db->v('seclevel'), )
);
}
$navigation = getNavigation();
foreach ($navigation as $k=>$v) {
$path[$v['level']] = $v['caption'];
if (array_key_exists($v['rubric']['id'], $notInNavigation)) unset($notInNavigation[$v['rubric']['id']]);
if ($v['rubric']['id']<=0) continue;
if (!array_key_exists($v['rubric']['id'], $rubricAccess)) continue;
$entry = implode('/', array_slice($path, 0, $v['level']));
if ($v['caption']!=$v['rubric']['name']) $entry .= ' ('.$v['rubric']['name'].')';
if (strlen($entry)>90) $entry = '...'.substr($entry, -87);
if ($v['rubric']['id']!=addslashes($_SESSION['SID_rubric_id'])) echo "<option value='".$v['rubric']['id']."'>".$entry."</option>";
}
$_t = '<option value=""> </option>';
foreach ($notInNavigation as $k=>$v) {
if (!array_key_exists($v['rubric']['id'], $rubricAccess)) continue;
print($_t);
$_t = '';
$path[$v['level']] = $v['rubric']['name'];
$entry = implode('/', array_slice($path, 0, $v['level']));
// no navigational element i
// if ($v['caption']!=$v['rubric']['name']) $entry .= ' ('.$v['rubric']['name'].')';
if (strlen($entry)>90) $entry = '...'.substr($entry, -87);
printf('<option value="%d" %s>%s</option>',
$v['rubric']['id'],
($_SESSION['SID_navigation_id']==$v['id'] && $v['rubric']['id']==$_SESSION['SID_rubric_id']) ? 'selected' : '',
$entry
);
}
print('</select>');
print(help('articles-listarticles.html#articles-listarticles-movearticle-rubric'));
?>
</td>
</tr>
<tr>
<td> </td>
<td>
<?php
echo '<input type="submit" class="button" value="'.___('move article').'"> ';
echo '<input type="submit" name="cancel" class="button" value="'.___('cancel').'">';
echo '</form>';
?>
</td>
</tr>
</table>
<?php
require(CPO_BASEDIR.'_include/footer.php');
break; // }}}
Grüße
Stefan
- balu
- ConPresso-Entwickler
- Beiträge: 1748
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 81 Mal
- Danksagung erhalten: 133 Mal
Hi,
wir haben das damals nicht so gemacht, weil die Texte in den Selectboxen dann unheimlich lang werden und es unübersichtlich wird.
Allerdings sehe ich ein, dass das dann so zu einem Problem fuehrt.
Ich gebe das mal hier in die interne Diskussion.
Balu
wir haben das damals nicht so gemacht, weil die Texte in den Selectboxen dann unheimlich lang werden und es unübersichtlich wird.
Allerdings sehe ich ein, dass das dann so zu einem Problem fuehrt.
Ich gebe das mal hier in die interne Diskussion.
Balu
Bartels.Schöne
ConPresso Support & Development
ConPresso Support & Development