Показать сообщение отдельно
Старый 20.06.2012, 18:05   #1
Anlov
Senior Member
 
Регистрация: 02.05.2011
Сообщений: 138
По умолчанию цикличные маркеры в шаблоне расширения

Привет.
Есть проблема: пишу расширение, в котором должны показываться курсы и для каждого курса - расписание.
Код HTML:
<!-- ###LISTVIEW### -->
	<table class="tbl_seminar_detail_view">
		<!-- ###SEMINAR### -->
		<tr><td colspan="5">###LINK###</td></tr>
		<tr valign="top" align="left">
			<th class="th_seminar_number_label">###LABEL_NUMBERS###</th>
			<th class="th_seminar_location_label">###LABEL_LOCATIONS###</th>
			<th class="th_seminar_date_label">###LABEL_DATES###</th>
			<th class="th_seminar_status_label">###LABEL_STATUS###</th>
			<th class="th_seminar_buchen_label">###LABEL_BUCHEN###</th>
		</tr>
		
		<!-- ###KURS### -->
		<tr valign="top">
			<td class="td_kurs_number_value">###FIELD_NUMBERS###</td>
			<td class="td_kurs_location_value">###FIELD_LOCATIONS###</td>
			<td class="td_kurs_date_value">###FIELD_DATES###</td>
			<td class="td_kurs_status_value">###FIELD_STATUS###</td>

		<!-- ###KURS### -->
		<!-- ###SEMINAR### -->
	</table>
<!-- ###LISTVIEW### -->
PHP код:
function main() {
$content .= $this->seminarList($seminar_nr);
}
function 
seminarList($number) {
$subpart $this->cObj->getSubpart($this->template,'###LISTVIEW###');
        
$seminar $this->cObj->getSubpart($subpart,'###SEMINAR###');
        
$kurs $this->cObj->getSubpart($subpart,'###KURS###');
}
...
здесь идет MYSQL QUERY для получения списка семинаров...
if(
$res) {
            
$list='';
            while(
$row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
                
$markerArray['###LINK###']=$this->pi_linkTP(htmlentities($row['th_thema']),array($this->prefixId.'[topic_id]'=> $row['th_nr']));
                
$markerArray['###LABEL_NUMBERS###'] = $this->pi_getLL('label_numbers');
                
$markerArray['###LABEL_LOCATIONS###'] = $this->pi_getLL('label_locations');
                
$markerArray['###LABEL_DATES###'] = $this->pi_getLL('label_dates');
                
$markerArray['###LABEL_STATUS###'] = $this->pi_getLL('label_status');
                
...
здесь идет MYSQL QUERY для получения расписания для каждого семинара...
                if(
$res_ku) {
                    
$list_ku '';
                    while(
$row_ku $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res_ku)) {
                        
$markerArray['###FIELD_NUMBERS###'] = $row_ku['ku_nr'];
                        
$markerArray['###FIELD_LOCATIONS###'] = utf8_encode($row_ku['so_loc']);
                        
$markerArray['###FIELD_DATES###'] = $date_begin."-".$date_end;
                        
$markerArray['###FIELD_STATUS###'] = utf8_encode($row_ku['ku_status']);
                        
                        
$list_ku .= $this->cObj->substituteMarkerArrayCached($kurs,$markerArray);
                    }
                    
$subpartArray['###KURS###'] = $list_ku;
}
                
$list .= $this->cObj->substituteMarkerArrayCached($seminar,$markerArray);
            }
            
$subpartArray['###SEMINAR###']=$list;
        } 

        return 
$this->cObj->substituteMarkerArrayCached($subpart,$markerArray,$subpartArray,array()); 
на выходе получаю только одно занятие, или три, или вообще ни одного... короче, не выходит каменный цветок. помогайте, плиз.
Anlov вне форума   Ответить с цитированием