Если это так важно сделайте чтобы выводились. Или чтобы вкладка «топики» была активной, а не «комментарии».
Данный сайт кстати хороший пример того как не надо делать.
Кому не нужно? Вам или всем остальным пользователям?
Никому не нужно.
Думаю мало кто пользуется вкладкой «Публикации» в прямом эфире, поэтому лента активности на главной очень полезна — сразу видно кто и что написал за последнее время
Может вам вместо главной один виджет оставить? Насчет пользуются или нет — фантазировать смысла нет, есть аналитика.
Да не нужно это. Пользователям интересен контент, а не кто раз в пятилетку что-то не стене напишет. Ну а если они станут вместо топиков писать на стенах — ничего хорошего точно не будет. 4 вкладки — ахтунг.
С сессией есть такая проблема что ее придется хранить ВЕЧНО)) Иначе в какой-то момент она сбросится на сервере и пользователь сможет проголосовать заново. По умолчанию в дебиане согласно php.ini вроде 20 минут хранится сессия.
но при таком раскладе, любой пользователь сможет накрутить себе рейтинг, а это не есть хорошо. Надо варианты что бы ограничивать пользователя, пока в голову приходит только вариант по IP.
Хорошая мысля приходит опосля.
На самом деле невозможно будет никак ограничить накрутки.
1. Во-первых из под 1 IP может выходить много пользователей (крупные провайдеры используют NAT, opera mini/opera turbo mode, прокси сервера google для опции сжатия трафика в мобильном хроме и т.д.).
2. Можно ограничить по сесиии, но сессию легко сбросить, удалив куки сайта.
3. В конце концов если все-таки ограничить по IP, никто не мешает использовать прокси, анонимайзеры, и т.д.
Обычно наоборот не то что разрешать, надо и зарегистрированных всячески ограничивать в голосовании.
Да в том и дело что даже на лс не много. Да есть косметиста, wallpappers.ru, который уже благополучно умер и ... блин, что-то больше не вспоминается =) но вообще было еще 2-3 проекта. Кстати кто знает что за шаблон на ixbt.com/blogs?
Есть сущность «тип контента» из нее можно получить все id доп полей, которые ты сконфигурил в движке для данного типа топика. А определить заполнены эти поля, добавлены ли файлы, фотосет и т.д. можно только прямым перебором с проверкой существования ненулевого значения. Это очевидно. И так сделано в шаблонах. В движке нет сущности «если хотя бы одно поле заполнено». Это твоя собственная нужная лично тебе логика. И если уж на то пошло тег «кат» не имеет отношения к этим доп сущностям никакого.
Выше я все что нужно достаточно подробно объяснил, причем не один раз.
ведь ни тэга кут, ни фотосета не бывает тут «разных»
Вообще-то а) не совсем так б) читаем еще раз что ты написал
С тэгом кут, фотосетом и голосовалкой вроде понятно, а вот как быть с прикрепленными файлами и дополнительными полями?
Поле типа «файл» это вполне конкретное доп. поле. Их может быть много.
Упомянутые «Дополнительные поля» — это именно что дополнительные поля, которых может быть сколько угодно почти каких угодно.
Так что какой вопрос такой ответ.
А насчет того что тебе нужно другая логика, а именно проверить наличие любого из полей, как я уже сказал это делается перебором всех полей, получаемых через объект ContentType, посмотри шаблоны, в частности вывод доп. полей и скопируй оттуда, ибо эта логика уже реализована.
Важно что они есть любые это другая задача. Каков вопрос таков ответ. Хочешь проверить что добавлен файл — проверяй по id поля. Можно сделать перебор по массиву, через $oContentType, в шаблонах можно найти пример.
На очереди прослойка которая будет строиться на лозунге «И никакого кривого ActiveRecord и прочей ...».
А если серьезно то ORM который реализован в альто это полный звиздец, все равно, неизбежно, приходится разбираться и в SQL, и решать проблемы с кешированием, которого там нет, а то которое есть (типа tmp, т.е. на время выполнения запроса) умудряется устанавливать кеш в конце выполнения запроса, когда он уже не нужен.
Данный сайт кстати хороший пример того как не надо делать.
Может вам вместо главной один виджет оставить? Насчет пользуются или нет — фантазировать смысла нет, есть аналитика.
https://blognot.co/12854
Сделайте наконец время редактирования > 5 мин.
На самом деле невозможно будет никак ограничить накрутки.
1. Во-первых из под 1 IP может выходить много пользователей (крупные провайдеры используют NAT, opera mini/opera turbo mode, прокси сервера google для опции сжатия трафика в мобильном хроме и т.д.).
2. Можно ограничить по сесиии, но сессию легко сбросить, удалив куки сайта.
3. В конце концов если все-таки ограничить по IP, никто не мешает использовать прокси, анонимайзеры, и т.д.
Обычно наоборот не то что разрешать, надо и зарегистрированных всячески ограничивать в голосовании.
Выше я все что нужно достаточно подробно объяснил, причем не один раз.
Поле типа «файл» это вполне конкретное доп. поле. Их может быть много.
Упомянутые «Дополнительные поля» — это именно что дополнительные поля, которых может быть сколько угодно почти каких угодно.
Так что какой вопрос такой ответ.
А насчет того что тебе нужно другая логика, а именно проверить наличие любого из полей, как я уже сказал это делается перебором всех полей, получаемых через объект ContentType, посмотри шаблоны, в частности вывод доп. полей и скопируй оттуда, ибо эта логика уже реализована.
$iFileFieldId, и
$iAnotherFieldId
— id номера полей
1. Файл
2. Поле
А если серьезно то ORM который реализован в альто это полный звиздец, все равно, неизбежно, приходится разбираться и в SQL, и решать проблемы с кешированием, которого там нет, а то которое есть (типа tmp, т.е. на время выполнения запроса) умудряется устанавливать кеш в конце выполнения запроса, когда он уже не нужен.