Ris

Ris

+657
Репутация
3768
Рейтинг
#1 IS_VOTED? 6 февраля 2015 в 20:20

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

Rossoman
Гениально! Я как раз и спрашиваю, как это сделать.
То есть как сделать так, чтобы генерировалось user.is_voted.
Я не понимаю в php вообще ничего. Оперирую только обычной логикой.
#2 IS_VOTED? 6 февраля 2015 в 19:59
Rossoman,
Так я и говорю. Они ж запомнены все в cms_rating. Как их вытащить оттуда и не показывать голосовалку снова?
Генерация is_voted стандартными методами не работает, Как еще можно отследить проголосованность юзера?
#3 IS_VOTED? 6 февраля 2015 в 18:20
Rossoman,
На действующем сайте так и сделано. Отдельная таблица cms_vote_faq и отдельный рейтинг по вопросам. Отдельные лидеры в общем рейтинге и отдельные в "дополнительном".
Решил свести весь рейтинг в одну кучу. И все работает нормально! Единственная проблема — как не показывать голосовалку уже проголосовавшим?

А код приблизительно такой:

  1. {if $quest.button==0 && $is_user && $is_user!=$quest.user_id && $quest.button_y==0}
  2. <!-- оценки-->
  3. <div id=vote_anec{$quest.id} >
  4.  
  5. {if !$is_user || $quest.is_voted}
  6. <span class="cmm_votes">
  7. {if $quest.rating>0}
  8. <span class="cmm_good">+{$quest.rating}</span>
  9. {elseif $quest.rating<0}
  10. <span class="cmm_bad">{$quest.rating}</span>
  11. {else}
  12. {$quest.rating}
  13. {/if}
  14. </span>
  15. {else}
  16. <span class="cmm_votes" id="votes{$quest.id}">
  17. <table border="0" cellpadding="0" cellspacing="0"><tr>
  18. <td>{$quest.rating|rating}</td>
  19. <td><a href="javascript:void(0);" onclick="voteQuest({$quest.id}, -5);" title="{$LANG.BAD_5}"><img border="0" alt="-" src="/templates/{template}/images/icons/comments/vote-5.gif" style="margin-left:8px"/></a></td>
  20. <td><a href="javascript:void(0);" onclick="voteQuest({$quest.id}, -3);" title="{$LANG.BAD_3}"><img border="0" alt="-" src="/templates/{template}/images/icons/comments/vote-3.gif" style="margin-left:2px"/></a></td>
  21. <td><a href="javascript:void(0);" onclick="voteQuest({$quest.id}, -1);" title="{$LANG.BAD_1}"><img border="0" alt="-" src="/templates/{template}/images/icons/comments/vote-1.gif" style="margin-left:2px"/></a></td>
  22. <td><a href="javascript:void(0);" onclick="voteQuest({$quest.id}, 1);" title="{$LANG.GOOD_1}"><img border="0" alt="+" src="/templates/{template}/images/icons/comments/vote+1.gif" style="margin-left:2px"/></a></td>
  23. <td><a href="javascript:void(0);" onclick="voteQuest({$quest.id}, 3);" title="{$LANG.GOOD_3}"><img border="0" alt="+" src="/templates/{template}/images/icons/comments/vote+3.gif" style="margin-left:2px"/></a></td>
  24. <td><a href="javascript:void(0);" onclick="voteQuest({$quest.id}, 5);" title="{$LANG.GOOD_5}"><img border="0" alt="+" src="/templates/{template}/images/icons/comments/vote+5.gif" style="margin-left:2px"/></a></td>
  25. </tr></table>
  26. </span>
  27. {/if}
  28.  
  29. </div>
  30. {/if}
#1 IS_VOTED? 6 февраля 2015 в 16:24
Создал новый компонент для сайта. Ну как создал… переделал уже имеющийся компонент FAQ. Организовал в нем голосовалку с оценками каждого вопроса по пятибалльной шкале, все работает, но таки остался один вопрос, как проверить юзера на проголосованность по данному вопросу?
После обновления страницы юзер снова видит меню голосования… хоть оно у него больше и не работает.
То есть нужно организовать выборку из cms_rating и в случае совпадения выдавать этому юзеру is_voted = true и не показывать ему меню голосовалки.

Кто подскажет, как это можно организовать? Пробовал скопировать процедуру из comments, почему-то не работает.
#4 Instantcms 1.10.6 Smarty 3 12 января 2015 в 16:10

зачем в приведенном примере голый php?

r2
Для вывода формы голосования из десяти пунктов от -5 до +5 и занесения результатов голосования в базу данных.
На прошлом релизе это безотказно работает в настоящий момент.

почему не использовать теги smarty (в т.ч. циклы) для всего этого?

r2
Страстно желаю использовать теги смарти для всего этого. Не подскажете, как это можно реализовать?
#5 Что выбрать -- 1.10 или 2? 12 января 2015 в 01:46
Во второй версии больше возможностей для расширения. Многие опции, которые на первой версии пришлось допиливать с большими затратами, в двойке есть "изкаропки", главное — научиться пользоваться всеми возможностями, предоставляемыми движком.
Минусы:
1. Отсутствие встроенного форума. А мне он нужен позарез под текстовые форумные игры. И никакие "группы" нормального форума не заменят.
2. Практически полное отсутствие бесплатных шаблонов под двойку. Мне сначала хочется посмотреть, как будет вести себя шаблон в условиях моего сайта. И каждый раз покупать шаблон для пробы?

Итого резюме: Как бы не нравилась вторая версия, но пока остаюсь на первой…
#1 Instantcms 1.10.6 Smarty 3 12 января 2015 в 01:08
Доброго времени суток!

Решил поэкспериментировать с новым релизом.
Допилил крупным напильником шаблон Green_Style, вроде все работает. Но возникла одна проблема.
У меня компонент faq переделан для размещения анекдотов и их оценки пользователями сайта. Соответственно в файл com_faq_view.tpl вставлен код голосовалки.
Выглядит это примерно так:

  1. <div id=vote_faq{$quest.id} >
  2. {php}
  3. $s= $this->_tpl_vars['quest']['id'];
  4. $user= $this->_tpl_vars['quest']['user_id'];
  5. for($i=-5;$i<6;$i++)
  6. {
  7. if($i<0)
  8. {
  9. $t=$t+1;
  10. echo "<img src='/components/faq/vote/votem".$t.".png' onclick=vote_faq($s,$i,$user); >";
  11. }
  12. elseif ($i>0)
  13. {
  14. $t1=$t1+1;
  15. echo "<img src='/components/faq/vote/vote".$t1.".png' onclick=vote_faq($s,$i,$user); >";
  16. }
  17. $t=0;
  18. $t1=0;
  19. }
  20. {/php}
  21. </div>
В связи с использованием в новой версии, вставка кода при помощи {php} {/php} больше не работает.
Также не прокатывают фокусы с {include}, {incert} и т.д.
Не подскажет ли кто простой способ вставить в шаблон ссылку на файл пыхапе?

Заранее признателен.
#6 [ЕСТЬ РЕШЕНИЕ] Crystal Chat 6 мая 2013 в 22:54
Не подскажет ли кто-нибудь знающий?
Нужен такой чат, чтобы пару-тройку последних сообщений чата можно было видеть на главной странице (чтобы видеть, что происходит в чате), а по отдельной кнопке можно было войти в чат и там чатиться.
Ставил чат от максисофта — его не видно на главной и туда никто не заходит. Ставил кричалку — всё здорово, но историю не посмотреть и все в одном окне.
Нужно что-то среднее, да где ж его взять…
#7 [ЗАКРЫТО] Тестируем InstantCMS 1.9.1 (UTF8) beta 27 июля 2012 в 16:52
У меня уж полгода сайт на этой бете крутится, а у вас всё тестирование…
#8 [ЕСТЬ РЕШЕНИЕ] Уникальность никнейма 18 марта 2012 в 13:21
У нас на сайте наш программист давно сделал проверку на уникальность. Спрошу у него не захочет ли он это продать. smile
#9 Файлы на одном хосте, база - на другом. Чем чревато? 23 февраля 2012 в 19:15
Мне пока тоже никаких жалоб не поступало.
Сайт некоммерческий совершенно. И мне выгоднее платить 2 раза в месяц по 100 рублей на разных хостингах, чем брать VDS рублей за 800 в месяц.
Единственное, что меня тревожит, это возросщее использование оперативки на старом хосте, после переноса самого сайта на другой хост. Пока сайт был там же где база было 0,11 — 0,13 Gb. После переноса стало аж 2,11 Gb!


Но пока никаких жалоб от хостера не поступало.
#1 Файлы на одном хосте, база - на другом. Чем чревато? 23 февраля 2012 в 19:07
Есть у меня сайт на инстанте. Существует с сентября 2011-го. Вначале всё шло хорошо, но после нового года сайт стал по несколько раз в день (а иногда по несколько раз в час) вылетать в ошибки 502-504 интернал сервер еррор и т.д.
Написал хостеру запрос. Мне ответили, мол слишком велико пользовательское время использования процессора. Переходите мол на премиум тариф или на VDS.
Взял тестовый период VDS, посмотрел на тамошний линукс как баран на новые ворота, не нашел даже как фитипи настроить. Плюнул.
Причем ни количество пользователей, ни их активность особо не увеличилась. Зарегено около двухсот человек, но активных юзеров около тридцати. Одновременно в онлайне максимум десять зарегистрированных пользователей и десять гостей. Что там дает такую бешеную нагрузку на сайт — ума не приложу. Уж не купить ли мне выделенный сервер под десять-то человек? scratch
Вобщем перенес сайт на другой хостинг. Пару дней всё летало, моей радости не было предела, но… сначала пришло письмо из поддержки, что слишком высока нагрузка на базу. Вместо допустимых 700 сек. используется 4000!
А на следующий день и вовсе отрубили базу без предупреждения… красавцы, блин. zlo
Кое-как выпросил у них свою базу, и перенес ее на старый хостинг.
И вот теперь у меня все файлы на одном хосте, а база — на другом.
Есть ли в таком положении вещей какие-либо скрытые опасности?
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.