Перейти к публикации

guusr

местные
  • Публикации

    586
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    1

Сообщения, опубликованные пользователем guusr

  1. Тег {custom}, отвечает за вывод статей в пользовательском формате, имеет следующие параметры:

    {custom category="2,7" template="custom" aviable="global" from="0" limit="10" cache="yes"}

    Где

    category это список ID категорий, из которых производить выборку новостей, разделяются запятой без пробелов.

    template файл шаблона который будет использоваться при выводе новостей в данном случае это будет custom.tpl если вы используете на сайте несколько шаблонов то данный файл должен присутствовать в каждом шаблоне. В данном шаблоне используются теги аналогичные для короткой новости.

    aviable раздел в котором будет выводится запрашиваемые новости, может принимать следующие значения:

    global - во всех разделах

    main - на главной странице

    date - при просмотре новостей за определенные даты

    cat - при просмотре категории

    showfull - при просмотре полной новости

    search - при просмотре результатов поиска

    userinfo - при просмотре профиля

    register - при регистрации

    stats - при просмотре статистики

    pm - при просмотре персональных сообщений

    feedback - при просмотре обратной связи

    favorites - при просмотре закладок

    newposts - при просмотре новых сообщений

    addnews - при добавлении новости

    lastcomments - при просмотре последних комментариев

    static - при просмотре статических страниц

    catalog - при просмотре каталога страниц

    alltags - при просмотре облака тегов

    tags - при просмотре новостей из облака тегов

    Вы можете комбинировать разделы при помощи "|", например aviable="userinfo|register|main" будет выводить ваши новости на главной, при регистрации и при просмотре профиля пользователя.

    from номер новости с которой начнется вывод

    limit сколько новостей будет выведено

    cache принимает значения yes или no - устанавливает кешировать вывод или нет, рекомендуется кешировать для снижения нагрузки.

    Внимание необходимо указывать все параметры обязательны а также необходимо соблюдать их порядок.

    Помните что каждое использование этого тега создает дополнительную нагрузку на базу данных, т.к. идет дополнительная выборка, поэтому используйте ее с умом если необходимо экономить на ресурсах.

    • Поддерживаю 1
  2. ну попробуйте пропустить первый шаг, а сделайте так:

    } elseif( $config['files_count'] == 'yes' ) {
    после этого есть $replace_1[] = bla bla bla замените его на:
    $replace_1[] = "<span class=\"attachment\"><table border='0' cellspacing='0' cellpadding='0' align='center' background='{THEME}/imdown/downlod.png' wight='220' height='84'>
    
    <tr>
    
    <td align='center' class='downlod_title'>{$row['name']}</td>
    
    </tr>
    
    <tr>
    
    <td><a href='{$config['http_home_url']}engine/download.php?id={$row['id']}{$ area}' class='homebutton'></a>
    
    <a href='{$config['http_home_url']}engine/download.php?id={$row['id']}{$ area}' class='downloadbutton'></a></td>
    
    </tr>
    
    <tr>
    
    <td align='center' class='downlod_footer'>[{$size}] ({$lang['att_dcount']} {$row['dcount']})</td>
    
    </tr>
    
    </table></span>";

  3. engine/modules/functions.php

    function show_attach($story, $id, $static = false) {
    
    	global $db, $config, $lang, $user_group, $member_id;
    
    
    	$find_1 = array();
    
    	$find_2 = array();
    
    	$replace_1 = array();
    
    	$replace_2 = array();
    
    
    	if( $static ) {
    
    
    		if( is_array( $id ) and count( $id ) ) $where = "static_id IN (" . implode( ",", $id ) . ")";
    
    		else $where = "static_id = '".intval($id)."'";
    
    
    		$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_static_files WHERE $where" );
    
    
    		$area = "&amp;area=static";
    
    
    	} else {
    
    
    		if( is_array( $id ) and count( $id ) ) $where = "news_id IN (" . implode( ",", $id ) . ")";
    
    		else $where = "news_id = '".intval($id)."'";
    
    
    		$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where" );
    
    
    		$area = "";
    
    
    	}
    
    
    	while ( $row = $db->get_row() ) {
    
    
    		$size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
    
    		$row['name'] = explode( "/", $row['name'] );
    
    		$row['name'] = end( $row['name'] );
    
    
    		$find_1[] = '[attachment=' . $row['id'] . ']';
    
    		$find_2[] = "#\[attachment={$row['id']}.+?)\]#i";
    
    
    		if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {
    
    
    			$replace_1[] = "<span class=\"attachment\">{$lang['att_denied']}</span>";
    
    			$replace_2[] = "<span class=\"attachment\">{$lang['att_denied']}</span>";
    
    
    		} elseif( $config['files_count'] == 'yes' ) {
    
    
    			$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
    
    			$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
    
    
    		} else {
    
    
    			$replace_1[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}]</span>";
    
    			$replace_2[] = "<span class=\"attachment\"><a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a> [{$size}]</span>";
    
    
    		}
    
    
    	}
    
    
    	$db->free();
    
    
    	$story = str_replace ( $find_1, $replace_1, $story );
    
    	$story = preg_replace( $find_2, $replace_2, $story );
    
    
    	return $story;
    
    
    }[/code]

    крутите эту функцию ;)

×
×
  • Создать...