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

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

1290977044_cover.png

Вид голосования у новостей:

http://e-div.com/uploads/posts/2010-11/1290976890_screen_news_poll.png

Вид голосования на сайте:

http://e-div.com/uploads/posts/2010-11/1290976865_screen_vote_poll.png

Установка #1 (css стили):

a: В файле /templates/trololo/engine.css добавляем:

/* Start ---- Modern Poll Style by http://e-div.com */

.polled { height: 22px; }

.voted { height: 11px; }

.progress { border: 1px solid #ccc; position: relative; display: block; padding: 0; margin:4px 0; background: #DEDEDE; background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#e9e9e9)); background: -moz-linear-gradient(top, #ccc, #e9e9e9);

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#e9e9e9');


    -moz-box-shadow:0 1px 0 #fff;

    -webkit-box-shadow:0 1px 0 #fff;

    box-shadow:0 1px 0 #fff;


    -moz-border-radius: 4px;

    -webkit-border-radius: 4px;

    border-radius: 4px;

}

.polled span { height:20px; }

.voted span { height: 9px; }

.progress span { display: block; margin: 0; padding: 0; text-align:center; width:0;


    -moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);

    -webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);

    box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);


    -moz-border-radius: 3px;

    -webkit-border-radius: 3px;

    border-radius: 3px;

}

.progress span b { color:#fff; line-height:20px; padding-left:2px; text-shadow:0 1px 1px rgba(0, 0, 0, 0.5); }


.progress-1 span {

    border: 1px solid #0078a5; background-color: #5C9ADE;

    background: -moz-linear-gradient(top, #00adee 10%, #0078a5 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #00adee), color-stop(0.9, #0078a5));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');

}


.progress-2 span {

    border: 1px solid #5c9425;  background-color: #77AF3F;

    background: -moz-linear-gradient(top, #8fc857 10%, #5c9425 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #8fc857), color-stop(0.9, #5c9425));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#8fc857', endColorstr='#5c9425');

}

.progress-3 span {

    border: 1px solid #f47a20; background-color: #faa51a;

    background: -moz-linear-gradient(top, #faa51a 10%, #f47a20 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #faa51a), color-stop(0.9, #f47a20));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20');

}

.progress-4 span {

    border: 1px solid #A92C2C; background-color: #C44747;

    background: -moz-linear-gradient(top, #DD5F5F 10%, #A92C2C 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #DD5F5F), color-stop(0.9, #A92C2C));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#DD5F5F', endColorstr='#A92C2C');

}

.progress-5 span {

    border: 1px solid #8c2ca9; background-color: #C44747;

    background: -moz-linear-gradient(top, #bf5fdd 10%, #8c2ca9 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #bf5fdd), color-stop(0.9, #8c2ca9));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#bf5fdd', endColorstr='#8c2ca9');

}

/* End ---- Modern Poll Style by http://e-div.com */
Установка #2 (Голосование у новостей): a: В файле /engine/ajax/poll.php меняем:
        $buffer .= <<<HTML

{$body[$i]} - {$num} ({$proc}%)<br />

<img src="{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif" height="10" width="{$proc}%" style="border:1px solid black;" alt="" /><br />

HTML;
на:
        $buffer .= <<<HTML

{$body[$i]} - {$num}

<div class="progress polled progress-{$pn}"><span style="width: {$proc}%;"><b>{$proc}%</b></span></div>

HTML;
b: В файле /engine/modules/poll.php меняем:
        $list .= <<<HTML

{$body[$v]} - {$num} ({$proc}%)<br />

<img src="{$config['http_home_url']}templates/{$config['skin']}/dleimages/poll{$pn}.gif" height="10" width="{$w}%" style="border:1px solid black;" alt="" /><br />

HTML;
на:
        $list .= <<<HTML

{$body[$v]} - {$num}

<div class="progress progress-{$pn}"><span style="width: {$proc}%;"><b>{$proc}%</b></span></div>

HTML;
Установка #3 (Голосование на сайте): a: В файле /engine/ajax/vote.php меняем:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

        <div class=\"vote\" align=\"left\">

        <img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"$proc%\" style=\"border:1px solid black\">

        </div>\n";
на:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: {$proc}%;\"></span></div>\n";
далее меняем:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

        <div class=\"vote\" align=\"left\">

        <img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"".intval($proc)."%\" style=\"border:1px solid black\">

        </div>\n";
на:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: ".intval($proc)."%;\"></span></div>\n";

Ну... вот и все, хак успешно установлен ;-)

ps. автор: Elegant Division (http://e-div.com)

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

Плюс Адын от меня. Попозже в личку напишу. Интересные вещи творишь.

Подскажи уважаемый, а как вывести голосование в новости? каким тэгом?

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

.. как вывести голосование в новости? каким тэгом?

при добавлении новости в админцентре, вкладка опрос:

WC46v5SF.jpg

.. каким тэгом?

тег {poll} в fullstory.tpl

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

Неа, у меня не пошло, так и выводится этот тэг =) в чём трабла может быть ?

возможно ли это из-за того что в блоке справа так же выводится опрос ?

Как добавлять знаю. Спасибо !=)

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

Неа, у меня не пошло, так и выводится этот тэг =) в чём трабла может быть ?

Тег {poll} должен быть в файле шаблона fullstory.tpl, а не добавлен в саму новость. Может это причина?

возможно ли это из-за того что в блоке справа так же выводится опрос ?

Нет, для опросов на сайте используется тег {vote}, а для голосований в новостях используется тег {poll}.

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

2@hotdj

Зашел на твой сайт, вижу все работает :)

http://hotdj.ru/music/10-xssr-music-academy-cd2-2010.html

в style.css у:

.pollvotelist {

text-align:left;

width:70%;

}

убери "width:70%;"

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

Ребята, а как сделать, чтобы % в Вид голосования на сайте тоже отображались на полосе прогресса, как тут - http://my-dle.ru/1396-modern-poll-style-izmenennyy-vid-golosovaniya.html ? :rolleyes:

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

Хотел бы что-бы этот вид опросника был в официальном дистрибутиве.

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

А автора прошу не пропадать, если что адаптировать под 9.2, если будут какие-то изменения в DLE.

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

Для 9.2

dbdd7971e4a4.jpg

CSS

В файле /templates/Ваш шаблон/engine.css:

в конце добавляем:

.polled { height: 22px; }

.voted { height: 11px; }

.progress { border: 1px solid #ccc; position: relative; display: block; padding: 0; margin:4px 0; background: #DEDEDE; background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#e9e9e9)); background: -moz-linear-gradient(top, #ccc, #e9e9e9);

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#e9e9e9');


    -moz-box-shadow:0 1px 0 #fff;

    -webkit-box-shadow:0 1px 0 #fff;

    box-shadow:0 1px 0 #fff;


    -moz-border-radius: 4px;

    -webkit-border-radius: 4px;

    border-radius: 4px;

}

.polled span { height:20px; }

.voted span { height: 9px; }

.progress span { display: block; margin: 0; padding: 0; text-align:center; width:0;


    -moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);

    -webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);

    box-shadow:inset 0 1px 0 rgba(255,255,255,0.5);


    -moz-border-radius: 3px;

    -webkit-border-radius: 3px;

    border-radius: 3px;

}

.progress span b { color:#fff; line-height:20px; padding-left:2px; text-shadow:0 1px 1px rgba(0, 0, 0, 0.5); }


.progress-1 span {

    border: 1px solid #0078a5; background-color: #5C9ADE;

    background: -moz-linear-gradient(top, #00adee 10%, #0078a5 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #00adee), color-stop(0.9, #0078a5));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');

}


.progress-2 span {

    border: 1px solid #5c9425;  background-color: #77AF3F;

    background: -moz-linear-gradient(top, #8fc857 10%, #5c9425 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #8fc857), color-stop(0.9, #5c9425));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#8fc857', endColorstr='#5c9425');

}

.progress-3 span {

    border: 1px solid #f47a20; background-color: #faa51a;

    background: -moz-linear-gradient(top, #faa51a 10%, #f47a20 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #faa51a), color-stop(0.9, #f47a20));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20');

}

.progress-4 span {

    border: 1px solid #A92C2C; background-color: #C44747;

    background: -moz-linear-gradient(top, #DD5F5F 10%, #A92C2C 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #DD5F5F), color-stop(0.9, #A92C2C));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#DD5F5F', endColorstr='#A92C2C');

}

.progress-5 span {

    border: 1px solid #8c2ca9; background-color: #C44747;

    background: -moz-linear-gradient(top, #bf5fdd 10%, #8c2ca9 90%);

    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1, #bf5fdd), color-stop(0.9, #8c2ca9));

    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#bf5fdd', endColorstr='#8c2ca9');

}
Голосование у новостей В файле /engine/ajax/poll.php: находим:
        $buffer .= <<<HTML

{$body[$i]} - {$num} ({$proc}%)<br />

<img src="{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif" height="10" width="{$proc}%" style="border:1px solid black;" alt="" /><br />

HTML;
меняем на:
        $buffer .= <<<HTML

{$body[$i]} - {$num}

<div class="progress polled progress-{$pn}"><span style="width: {$proc}%;"><b>{$proc}%</b></span></div>

HTML;
В файле /engine/modules/poll.php: находим:
        $list .= <<<HTML

{$body[$v]} - {$num} ({$proc}%)<br />

<img src="{$config['http_home_url']}templates/{$config['skin']}/dleimages/poll{$pn}.gif" height="10" width="{$w}%" style="border:1px solid black;" alt="" /><br />

HTML;
меняем на:
        $list .= <<<HTML

{$body[$v]} - {$num}

<div class="progress progress-{$pn}"><span style="width: {$proc}%;"><b>{$proc}%</b></span></div>

HTML;
Голосование на сайте В файле /engine/ajax/vote.php: находим:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

		<div class=\"vote\" align=\"left\">

		<img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"$proc%\" style=\"border:1px solid black\">

		</div>\n";
меняем на:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: {$proc}%;\"></span></div>\n";
в этом же файле находим:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

		<div class=\"vote\" align=\"left\">

		<img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"".intval($proc)."%\" style=\"border:1px solid black\">

		</div>\n";
меняем на:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: ".intval($proc)."%;\"></span></div>\n";
Список всех голосований на сайте В файле /engine/ajax/allvotes.php: находим:
        $entry .= "<tr><td width=\"20\" nowrap>{$radio}</td><td><div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

		<div class=\"vote\" align=\"left\">

		<img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"$proc%\" style=\"border:1px solid black\">

		</div></td></tr>";
меняем на:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: ".intval($proc)."%;\"></span></div>\n";

Пользуемся :)

P.S. Автор хака указан выше.

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

а можешь указать что именно изменилось?

у меня по-сути 2 косяка:

- 0% сползает, т.е. % переносится на сл. строку, отчего полоса становится шире

- 100% линия справа находит на серую область, хотя с остальных сторон все норм (что, впрочем, видно на этих скриншотах).

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

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

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

gkostik, сейчас посмотрю

- 0% сползает, т.е. % переносится на сл. строку, отчего полоса становится шире

Самый простой способ, в файле /engine/ajax/poll.php:

находим:

        $buffer .= <<<HTML

{$body[$i]} - {$num}

<div class="progress polled progress-{$pn}"><span style="width: {$proc}%;"><b>{$proc}%</b></span></div>

HTML;
меняем на:
        $buffer .= <<<HTML

{$body[$i]} - {$num}

<div class="progress polled progress-{$pn}"><span style="width: {$proc}%; min-width: 20px;"><b>{$proc}%</b></span></div>

HTML;
Далее в файле /engine/modules/poll.php: находим:
        $list .= <<<HTML

{$body[$v]} - {$num}

<div class="progress progress-{$pn}"><span style="width: {$proc}%;"><b>{$proc}%</b></span></div>

HTML;
меняем на:
        $list .= <<<HTML

{$body[$v]} - {$num}

<div class="progress progress-{$pn}"><span style="width: {$proc}%;  min-width: 20px;"><b>{$proc}%</b></span></div>

HTML;

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

Нет, мне такой вариант не понравился, потому что 0% получается шире чем 5% - а это уже не есть хорошо

вот вариант, который я нашел на сайте автора:

вставить в engine.css вместо этого

.progress { border: 1px solid #ccc; position: relative; display: block; padding: 0; margin:4px 0; background: #DEDEDE; background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#e9e9e9)); background: -moz-linear-gradient(top, #ccc, #e9e9e9);
вот это
white-space: nowrap;
чтобы получилось
.progress { white-space: nowrap; border: 1px solid #ccc; position: relative; display: block; padding: 0; margin:4px 0; background: #DEDEDE; background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#e9e9e9)); background: -moz-linear-gradient(top, #ccc, #e9e9e9);

Причем, этот глюк только в Опере, Мозилла работает отлично, Хром я не проверял

PS А на линию я забил :) надоело с ней возиться, тем более, что 100% голосов будут недолго

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

gkostik, Можно и так :)

P.S. Лично мне и стандартный нормальный, неохота каждый раз при обновлении редактировать файлы скрипта для "бессмысленных" хаков.

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

Я остановился на своем варианте, все получилось, кроме вылезающих 100%

Спасибо за помощь

Я вижу что собрал знающих людей для дискусии :)

Подскажите, как можно вывести в краткую количество проголосовавших в новости?

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

И вот этот вопрос очень интересен

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

Список всех голосований на сайте

В файле /engine/ajax/allvotes.php:

находим:

        $entry .= "<tr><td width=\"20\" nowrap>{$radio}</td><td><div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

		<div class=\"vote\" align=\"left\">

		<img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"$proc%\" style=\"border:1px solid black\">

		</div></td></tr>";
меняем на:
        $entry .= "<div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: ".intval($proc)."%;\"></span></div>\n";
Не верно! А где же тогда {$radio} ? В таком случае выбор вариантов пропадает. Верно так: находим:
        $entry .= "<tr><td width=\"20\" nowrap>{$radio}</td><td><div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

		<div class=\"vote\" align=\"left\">

		<img src=\"{$config['http_home_url']}templates/{$vote_skin}/dleimages/poll{$pn}.gif\" height=\"10\" width=\"$proc%\" style=\"border:1px solid black\">

		</div></td></tr>";
меняем на:
        $entry .= "<tr><td width=\"20\" nowrap>{$radio}</td><td><div class=\"vote\" align=\"left\">$body[$i] - $num ($proc%)</div>

<div class=\"progress voted progress-{$pn}\"><span style=\"width: ".intval($proc)."%;\"></span></div></td></tr>";

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

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

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

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

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

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

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

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

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

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