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

Рекомендованные сообщения

Собственно вопрос в следующем. Как в девятке изменить вид аттача с названия файла на картинку-кнопку "скачать"? Находил решения только под более ранние версии.

Ссылка на сообщение
Поделиться на других сайтах

Бекграунд пробовали ставить? :) Не знаю что это и как, но, думаю, на CSS можно сделать.

Ссылка на сообщение
Поделиться на других сайтах

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 = "&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]

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

Ссылка на сообщение
Поделиться на других сайтах

Я знаю, что в этом файле крутить надо, но вот что именно и как не представляю. Пока спец из меня слабоват.

Для восьмерки один из рецептов выглядел так:

Находим:

<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})

Заменяем на:

<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>";

Шаг 3

Открываем main.tpl

Между тегами head вставляем:

<script type="text/javascript" src="{THEME}/imdown/jquery-1.3.2.min.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('.homebutton,.downloadbutton').append('<span class="hover"></span>').each(function () {

var $span = $('> span.hover', this).css('opacity', 0);

$(this).hover(function () {

$span.stop().fadeTo(500, 1);

}, function () {

$span.stop().fadeTo(500, 0);

});

});

});

</script>

Шаг 4

Открываем style.css и в самом конце вставляем:

.downlod_title {

font-family: tahoma;

font-size: 10px;

color: #FFFFFF;

padding-top: 2px;

height: 23px;

}

.downlod_footer {

font-family: tahoma;

font-size: 10px;

color: #FFFFFF;

padding-bottom: 2px;

height: 23px;

}

.downloadbutton {

float: left;

width:107px;

height:38px;

display:block;

background-image:url(../imdown/twobuttons.png);

background-position: top right;

}

.downloadbutton span.hover{

position: absolute;

display: block;

width:107px;

height:38px;

background-position: bottom right;

background-image:url(../imdown/twobuttons.png);

}

.homebutton {

float: left;

width:120px;

height:38px;

display:block;

background-image:url(../imdown/twobuttons.png);

background-position: top left;

}

.homebutton span.hover{

position: absolute;

display: block;

width:120px;

height:38px;

background-position: bottom left;

background-image:url(../imdown/twobuttons.png);

}

Изменено пользователем fideral
Ссылка на сообщение
Поделиться на других сайтах

Ну, показал бы сразу свой код, либо страницу, где это нужно подправить, быстро бы сообразили, самому искать в лом, не нам ведь это нужно.

Движок сам при этом трогать не нужно, это ведь просто стили, а не модуль какой-то :)

Ссылка на сообщение
Поделиться на других сайтах

Вот такую вещь я хочу себе поставить http://prowebber.ru/dle/templates/3012-krasivyj-shablon-attacha-dle.html . Только под версию 9.0(на 9.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>";

Ссылка на сообщение
Поделиться на других сайтах

С этой ошибкой сам разобрался. Пробел лишний был. Сейчас ошибок не выдает, но и картинку не показывает

Есть еще вот такой вариант http://dleshka.org.ru/hacks/74-menyaem-ssylku-atachmenta-na-kartinku.html . Может его проще переделать

Ссылка на сообщение
Поделиться на других сайтах

Мое хозяйство для экспериментов forum2.fixmag.ru

Изменено пользователем fideral
Ссылка на сообщение
Поделиться на других сайтах

а добавьте attach с измененным названием, а то у этого не и не будет картинке, у него же стандартные стили.

Ссылка на сообщение
Поделиться на других сайтах

Ничего не изменилось

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

Ссылка на сообщение
Поделиться на других сайтах

вы то-ли не сохранили изменения, то ли не очистили кеш, но у вас все как в стандартном functions.php

Ссылка на сообщение
Поделиться на других сайтах

Все сохранено и кеш почищен

Только сейчас обнаружил. Оказывается в подкатегориях работает. Не работает на главной только

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

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