• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

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

Статус
В этой теме нельзя размещать новые ответы.

TAX[I]

Знаток
Регистрация
21 Окт 2008
Сообщения
187
Реакции
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 (дефолтно), поэтому и спрашиваю, как можно вывести?
 
писал я как-то модуль для вывода цитат в нем используются допполя для вывода изображений автора цитаты вообщем вот код
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'] == 2 ){$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'] );
если немного подправить код (убрать лишние переменные, изменить количество выводимых новостей-цитат, категорию из которой выводить) то должно быть то что нужно если я конечно все правельно понял
 
Попробую разобраться, премного благодарен
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху