• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Liste zu Dropdownliste

the_zoker_09

Mitglied
Hallo zusammen,

Ich möchte eine Liste in eine Dropdownliste umändern.

Das hier ist die Liste:
HTML:
if ($jlistConfig['view.sort.order'] && $total > 1){
   if($order == 'default' || $order == ''){
      $sort_default = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DEFAULT').' | ';
   } else {
      $sort_default = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=default&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DEFAULT').'</a> | ';                   
   }
   if($order != 'name'){
      $sort_name = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=name&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_NAME').'</a> | ';
   } else {
      $sort_name = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_NAME').' | ';
   }   
   if($order != 'date'){
      $sort_date = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=date&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DATE').'</a> | ';
   } else {
      $sort_date = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DATE').' | ';
   }   
   if($order != 'hits'){
      $sort_hits = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=hits&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_HITS').'</a> | ';
   } else {
      $sort_hits = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_HITS').' | ';
   }
                    
   if ($dir == 'asc' || $dir == ''){
      $sort_direction = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order='.$order.'&amp;dir=desc').'">['.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DESC').'</a>]';
   } else{
      $sort_direction = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order='.$order.'&amp;dir=asc').'">['.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_ASC').'</a>]';
   }    
      $order_bar = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_TITLE').' '.$sort_default.$sort_name.$sort_date.$sort_hits.' '.$sort_direction;
      $subheader = str_replace('{sort_order}', $order_bar, $subheader);
   } else {   
      $subheader = str_replace('{sort_order}', '', $subheader);          
   }

Das hier ist mein Versuch, das in eine Dropdownliste umzuändern:
HTML:
         if ($jlistConfig['view.sort.order'] && $total > 1){
         <select>
         <option value="default">if($order == 'default' || $order == ''){$sort_default = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DEFAULT').' | ';} else {$sort_default = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=default&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DEFAULT').'</a> | ';}</option>
         <option value="Name">if($order != 'name'){$sort_name = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=name&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_NAME').'</a> | ';} else {$sort_name = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_NAME').' | ';}</option>
         <option value="Date">if($order != 'date'){$sort_date = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=date&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DATE').'</a> | ';} else {$sort_date = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DATE').' | ';}</option>
         <option value="Hits">if($order != 'hits'){$sort_hits = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=hits&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_HITS').'</a> | ';} else {$sort_hits = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_HITS').' | ';}</option>
         <option value="Absteigend">if ($dir == 'asc' || $dir == ''){sort_direction = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order='.$order.'&amp;dir=desc').'">['.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DESC').'</a>]';} else{$sort_direction = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order='.$order.'&amp;dir=asc').'">['.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_ASC').'</a>]';}</option>   
         </select>
           } else {   
               $subheader = str_replace('{sort_order}', '', $subheader);          
           }

Aber das funktioniert noch nicht ganz.

Wo liegt der Fehler?

Was muss ich ändern?

Vielen Dank
the_zoker_09
 
Du kannst nicht einfach HTML-Code mitten in den PHP-Code schreiben und umgekehrt. PHP-Code muss in entsprechend gekennzeichneten Bereichen (<?php…?> oder möglicherweise <?…?>) stehen.
 
Also so:
HTML:
        if ($jlistConfig['view.sort.order'] && $total > 1){ ?>
         <select>
         <option value="default"><?php if($order == 'default' || $order == ''){$sort_default = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DEFAULT').' | ';} else {$sort_default = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=default&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DEFAULT').'</a> | ';} ?></option>
         <option value="Name"><?php if($order != 'name'){$sort_name = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=name&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_NAME').'</a> | ';} else {$sort_name = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_NAME').' | ';} ?></option>
         <option value="Date"><?php if($order != 'date'){$sort_date = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=date&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DATE').'</a> | ';} else {$sort_date = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DATE').' | ';} ?></option>
         <option value="Hits"><?php if($order != 'hits'){$sort_hits = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order=hits&amp;dir=asc').'">'.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_HITS').'</a> | ';} else {$sort_hits = JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_HITS').' | ';} ?></option>
         <option value="Absteigend"><?php if ($dir == 'asc' || $dir == ''){sort_direction = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order='.$order.'&amp;dir=desc').'">['.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_DESC').'</a>]';} else{$sort_direction = '<a href="'.JRoute::_('index.php?option=com_jdownloads&amp;Itemid='.$Itemid.'&amp;view=viewcategory&amp;catid='.$catid.'&amp;limitstart='.$limitstart.'&amp;order='.$order.'&amp;dir=asc').'">['.JText::_('COM_JDOWNLOADS_FE_SORT_ORDER_ASC').'</a>]';} ?></option>  
         </select>
         <?php 
           } else {  
               $subheader = str_replace('{sort_order}', '', $subheader);          
           }
oder?

edit:
Dann bekomme ich diesen Fehler:
Parse error: syntax error, unexpected '=' in /Download/components/com_jdownloads/jdownloads.php on line 1785
(Zeile 1785 ist die [inline]<option value="Absteigend">[/inline])
Aber wo ist da ein "=" zuviel?
 
Zuletzt bearbeitet:
Ja, schon besser.

Du erwartest hoffentlich nicht, dass jemand sich inhaltlich mit diesen bis zu 600 Zeichen langen Zeilen befasst.
 
Du hast Glück, das Problem steht ganz am Anfang.

Code:
         <option value="Absteigend"><?php if ($dir == 'asc' || $dir == ''){sort_direction

Es fehlt ein $-Zeichen vor sort_direction. PHP denkt deshalb, das ist eine Konstante, und Konstanten kann kein Wert zugewiesen werden, also ist das = da falsch.

Da ist der Parser brutal logisch.
 
Zurück
Oben