Помощь Дополнительные поля в main.tpl

Тема в разделе "DLE", создана пользователем TAX[I], 4 сен 2011.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. TAX[I]

    TAX[I]

    Регистр.:
    21 окт 2008
    Сообщения:
    173
    Симпатии:
    28
    Здравствуйте. Есть 20 дополнительных полей, для каждой новости. В них находяться ссылки на изображения, т.е. 1 ссылка на изображение = 1 поле.
    Необходимо вывести блок с данными изображениями в main.tpl, который будет выводиться при просмотре полной новости.
    Сейчас выводиться таким образом:
    В main.tpl
    HTML:
    [aviable=showfull]{include file="block_showfull.tpl"}[/aviable]
    block_shofull.tpl:
    HTML:
    
    <ul>
      <li>
        <div class="story_small_img2">
          <div class="story_small_img_middle">
    	<img src="[xfvalue_img1]" width="160" height="120" alt="{title}" />
          </div>
        </div>
      </li>
      <li>
        <div class="story_small_img2">
          <div class="story_small_img_middle">
    	<img src="[xfvalue_img2]" width="160" height="120" alt="{title}" />
          </div>
        </div>
      </li>
      <li>
        <div class="story_small_img2">
          <div class="story_small_img_middle">
    	<img src="[xfvalue_img3]" width="160" height="120" alt="{title}" />
          </div>
        </div>
      </li>
    
    ......... и тд до:
    
      <li>
        <div class="story_small_img2">
          <div class="story_small_img_middle">
    	<img src="[xfvalue_img20]" width="160" height="120" alt="{title}" />
          </div>
        </div>
      </li>
    </ul>
    
    Проблема в том, что Дополнительные поля не выводяться. Я прекрасно знаю, что дополнительные поля не работают с main.tpl (дефолтно), поэтому и спрашиваю, как можно вывести?
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.035
    Симпатии:
    703
    писал я как-то модуль для вывода цитат в нем используются допполя для вывода изображений автора цитаты вообщем вот код
    PHP:
    <?php
    if( ! defined'DATALIFEENGINE' ) ) {
        die( 
    "Hacking attempt!" );
    }
        
    $tpl->load_template('citata.tpl');
        if( 
    strpos$tpl->copy_template"[xfvalue_" ) !== false ) { $xfound true$xfields xfieldsload();}
        else 
    $xfound false;
        
    $sql_result $db->query"SELECT id, title, date, xfields, alt_name, category, short_story, flag FROM " PREFIX "_post WHERE approve='1' AND category='66' ORDER BY rand()  LIMIT 0,1" );
        while ( 
    $row $db->get_row())
        {
        
    $row['date'] = strtotime$row['date'] );
        
    $row['category'] = intval$row['category'] );
        if( 
    $config['allow_alt_url'] == "yes"){
        if( 
    $row['flag'] and $config['seo_type']){if( $row['category'] and $config['seo_type'] == ){$full_link $config['http_home_url'] . get_url$row['category'] ) . "/" $row['id'] . "-" $row['alt_name'] . ".html";}
        else{
    $full_link $config['http_home_url'] . $row['id'] . "-" $row['alt_name'] . ".html";}}
        else{
    $full_link $config['http_home_url'] . date'Y/m/d/'$row['date'] ) . $row['alt_name'] . ".html";}}
        else{
    $full_link $config['http_home_url'] . "index.php?newsid=" $row['id'];}
        
    $autor $row['title'];
        
    $citata $row['short_story'];
            
    // Обработка дополнительных полей
            
    if( $xfound ) {
                
    $xfieldsdata xfieldsdataload$row['xfields'] );
                foreach ( 
    $xfields as $value ) {
                    
    $preg_safe_name preg_quote$value[0], "'" );
                    if( empty( 
    $xfieldsdata[$value[0]] ) ) {
                        
    $tpl->copy_template preg_replace"'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is"""$tpl->copy_template );
                    } else {
                        
    $tpl->copy_template preg_replace"'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is""\\1"$tpl->copy_template );
                    }
                    
    $tpl->copy_template str_replace"[xfvalue_{$preg_safe_name}]"stripslashes$xfieldsdata[$value[0]] ), $tpl->copy_template );
                }
            }
            
    // Обработка дополнительных полей
            
    $tpl->set('{citata}',$citata);
            
    $tpl->set('{autor}',$autor);
            
    $tpl->compile'citata' );
        }
        
    $tpl->clear();
        
    $db->free$sql_result );
    ?>
    и код шаблона
    PHP:
    <h3>Цитатыизречения,афоризмы знаменитых людей</h3><br><div class="project_left">[xfgiven_image]<img src="[xfvalue_image]" border="0" alt="" />[/xfgiven_image]</div>
            <
    div class="project_right">{citata}<br
            <
    b>{autor}</b>
            </
    div>
            <
    div class="clear"></div><br>
    подключение модуля
    PHP:
    //после require_once ROOT_DIR . '/engine/init.php'; вставляем
    require_once ENGINE_DIR.'/modules/citata.php';
    //после $tpl->set ( '{speedbar}', $tpl->result['speedbar'] ); вставляем
    $tpl->set '{modcitata}',  $tpl->result['citata'] );
    если немного подправить код (убрать лишние переменные, изменить количество выводимых новостей-цитат, категорию из которой выводить) то должно быть то что нужно если я конечно все правельно понял
     
    TAX[I] нравится это.
  3. TAX[I]

    TAX[I]

    Регистр.:
    21 окт 2008
    Сообщения:
    173
    Симпатии:
    28
    Попробую разобраться, премного благодарен
     
Статус темы:
Закрыта.