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

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

Добрый вечер. Подскажите пожалуйста... где то видел давно теперь найти не могу... Статьи о том как сделать разный фон у коментов через один. как на 4дле

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

Зеос я как всегда сам спросил сам ответил

открыть engine/modules/show.full.php

найти и удалить

if ($config['comm_msort'] == "ASC")

		$tpl->set('{comment-id}', $cstart+$i);

	else

		$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);
найти
$tpl->load_template('comments.tpl');



	if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;


	if ($xfound) $xfields = xfieldsload(true);


	$tpl->copy_template = "".$tpl->copy_template;


	if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";


	$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);


	while($row = $db->get_row($sql_result)){ $i++;


	$row['date'] = strtotime($row['date']);


	$row['gast_name'] = stripslashes($row['gast_name']);

	$row['gast_email'] = stripslashes($row['gast_email']);

	$row['name'] = stripslashes($row['name']);
заменить на
$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);






	while($row = $db->get_row($sql_result)){ $i++;



	if ($config['comm_msort'] == "ASC") {

		$tpl->set('{comment-id}', $cstart+$i);

		$a_comment_id = $cstart+$i;

		} else {

		$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);

		$a_comment_id = $comments_num-$cstart-$i+1;

		}


	if ($a_comment_id & 1)

	$tpl->load_template('comments1.tpl');

	else

	$tpl->load_template('comments2.tpl');



	if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;


	if ($xfound) $xfields = xfieldsload(true);


	$tpl->copy_template = "".$tpl->copy_template;


	if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";


	$row['date'] = strtotime($row['date']);


	$row['gast_name'] = stripslashes($row['gast_name']);

	$row['gast_email'] = stripslashes($row['gast_email']);

	$row['name'] = stripslashes($row['name']);

создать 2 файла шаблона

comments1.tpl - для нечетных комментариев

comments2.tpl - для четных

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

ИскушениЕ,

ищвращенческий и ресурсоёмкий способ, т.к. придётся раз 30 загражать один шаблон :)

всё что нужно добавить после

if ($config['comm_msort'] == "ASC")

$tpl->set('{comment-id}', $cstart+$i);

else

$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);

это

if ($i & 1)

$tpl->set('{comment-style}', 'com_style1');

else

$tpl->set('{comment-style}', 'com_style2');

ну а отсюда уже и так видно, что делать надо: вставлять в шаб {comment-style} и прописывать в ксс два стиля новых.

Изменено пользователем Al-x
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Ещё разок подниму эту тему....

ну а отсюда уже и так видно, что делать надо: вставлять в шаб {comment-style} и прописывать в ксс два стиля новых.

А куда именно вставлять {comment-style}, в коментс.тпл ???

а стили как я понимаю просто с селекторами .com_style1 и .com_style2 ?

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

искушение, ну тепер ьсам жди, пока сам же ответишь)))) форум шуток самосмеек и самопомощников))

сам сказал, сам посмеялся, сам задал вопрос, сам же ответил.. я такое уже не один раз тут замечал и сталкивался с таким же феноменом... так что озарение скоро придет)

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

я такое уже не один раз тут замечал и сталкивался с таким же феноменом

когда это у нас "самостоятельно разобраться" стало феноменом.

Наоборот, в следующий раз человеку будет проще понять.

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

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

я такое уже не один раз тут замечал и сталкивался с таким же феноменом

когда это у нас "самостоятельно разобраться" стало феноменом.

Наоборот, в следующий раз человеку будет проще понять.

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 6 месяцев спустя...

Тот способ, что давал я - будет работать и на 8,2. Единственное, возможно теперь надо кавырять не файл engine/modules/show.full.php, а engine/classes/class.comments.php (или как-то так файл называется, не спутаешь)

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

То что надо ковырять в файле comments.class.php, это очевидно. Но там немного другой код:

$tpl->set( '{comment-id}', "--" );

} elseif($area == 'lastcomments') {

$tpl->set( '{comment-id}', $this->total_comments - $this->cstart - $this->intern_count + 1 );

} else {

if( $config['comm_msort'] == "ASC" ) $tpl->set( '{comment-id}', $this->cstart + $this->intern_count );

else $tpl->set( '{comment-id}', $this->total_comments - $this->cstart - $this->intern_count + 1 );

}

Можно поподробнее какие подправить переменные? :huh:

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

В файле: engine\classes\comments.class.php

После:

if( $config['comm_msort'] == "ASC" ) $tpl->set( '{comment-id}', $this->cstart + $this->intern_count );

else $tpl->set( '{comment-id}', $this->total_comments - $this->cstart - $this->intern_count + 1 );
добавить:
if ( $this->intern_count & 1 ) $tpl->set ( '{comment-style}', 'com_style1' );

else $tpl->set ( '{comment-style}', 'com_style2' );

После этого в файле comments.tpl Вашего шаблона добавьте тег: {comment-style} и для шаблона создайте два стиля для классов com_style1 и com_style2

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

добовляю в engine\classes\comments.class.php

if ( $this->intern_count & 1 ) $tpl->set ( '{comment-style}', 'com_style1' );

else $tpl->set ( '{comment-style}', 'com_style2' );
в comments.tpl добовляю {comment-style}
<div class="{comment-style}">

Форма комментария

</div>
в style.css добовляю 2 стиля
.com_style2{

background-color : #fff;

} 

.com_style1{

 background-color: #fff8df;

}

Но ничего не меняется... Что не так ?:blink:

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

Не могу знать, что и как Вы сделали. Я сегодня сделал это на DLE 8.3 и после этого отписал Вам код :rolleyes: и у меня всё работало :)

Дайте ссылку на сайт, где Вы такое сделали, я хочу посмотреть.

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

Значит что-то не так сделали :) У меня работает :rolleyes:

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

Пиши в аську, там быстрее решим твою проблему :rolleyes:

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

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

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

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

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

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

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

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

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

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