Информер - с каждой категории по одному материалу
|
|
e_do | Дата: 01 Октября 2011, 22:38 | Сообщение # 1 | ● ● ● ● ● 13 сообщений Статус: Offline | Добрый день, у меня появилась необходимость вывести в виде информера на главную страницу по одному материалу из каждой категории, по одному не больше. Сколько голову ломал, с помощью стандартных методов информеров что то не получается. Так как категорий очень много, создавать по информеру для каждого не получится. Может подскажите куда копать, чтобы например на главной выводилось 20 материалов случайных из всех категорий, но чтобы с каждой категории не попадалось больше одного материала. Спасибо заранее | | |
|
Andre | Дата: 03 Октября 2011, 10:05 | Сообщение # 2 | ● ● ● ● ● 1822 сообщения Статус: Offline | Выводи 100 и скриптом делай отсев. А лучше забудь об этом. | | |
|
e_do | Отредактировал e_do - Вторник, 04 Октября 2011, 01:28 Дата: 04 Октября 2011, 01:24 | Сообщение # 3 | ● ● ● ● ● 13 сообщений Статус: Offline | не могу.
В общем что-то нашел, C помощью ajax оказывается не так уж и трудно. Точнее в jquery есть функции работы с ajax. Есть такая функция Code $("#links").load("/Main_Page #jq-p-Getting-Started li"); в моем случае написал что-то такое Code <script type="text/javascript"> $(document).ready(function(){ $("#cid$CID$").load("$CATEGORY_URL$ #allEntries > div:first-child"); });</script> так вытягивается первый материал каждой категории. Немного объяснений: #cid$CID$ - это id td элемента в котором размещается инфа, Его создает информер укоза, где название id соответствует cid категории.
Честно говоря на практике пару дней как сталкиваюсь с js . Будем изучать дальше, осталось написать в информере выводить заданное количество (в моем случае 6) случайно выбранных категорий из всего списка. Думаю дальше уже дело техники с помощью того же jquery(js)+css раскидать нужные элементы dom по дизайну.)))
Получается по сути, на полпути по созданию информера категорий с выводом последнего добавления в каждой категории. | | |
|
Andre | Дата: 04 Октября 2011, 21:24 | Сообщение # 4 | ● ● ● ● ● 1822 сообщения Статус: Offline | e_do, надеюсь что ты единственный будешь сидеть на своем сайте и не будешь сюда выкладывать свое творчество. Вместо одной страницы будет грузится целая куча... бредовость и глупость админов процветает | | |
|
e_do | Дата: 04 Октября 2011, 21:42 | Сообщение # 5 | ● ● ● ● ● 13 сообщений Статус: Offline | бредовость и глупость админов процветает спасибо за комплимент, хорошо, что вы такой умный, не могут же все похвастаться избытком извилин, тогда бы дешево очень стоили эти самые серые вещества. PS В мире бы вообще была бы красота и спокойствие, если бы вместе с этими шариками еще и вежливость раздавали. Ничего страшного, ни одним этим форумом процветает сеть. | | |
|
Andre | Дата: 04 Октября 2011, 22:25 | Сообщение # 6 | ● ● ● ● ● 1822 сообщения Статус: Offline | e_do, а здесь даются разумные ответы, а по уровню извилин равное данной идеи в инете и правда полно. Не, идея то хорошая, но вот реализация ее нормальным способом не представляется возможным. | | |
|
e_do | Отредактировал e_do - Вторник, 04 Октября 2011, 22:57 Дата: 04 Октября 2011, 22:56 | Сообщение # 7 | ● ● ● ● ● 13 сообщений Статус: Offline | Andre, Ну,)) кто на что гаразд, меня пока хватает на это, будем учиться дальше будем развиваться,. Никто же не виноват, что в укозе это не предусмотрено, ни они, что не предусмотрели такое(спасибо и так им за все что сделали), ни я, которому это данный момент край необходимо. Вопреки вашим пожеланиям, слава богу мой сайт смотрю не только я, а еще около 10 тыс людей в день(называть не буду, чтобы не пахло рекламой), для дальнейшего развития делаю что могу. Насколько она бредовая с технической стороны время покажет, надо будет, поищем другие пути. Но насчет "бреда" скажу пример. Мой сайт о котором я так много говорю , в начале своего развития был создан и написан мной. Писал сколько хватало знаний, со временем, конечно, учился, познавал азы веб строения, и теперь, после изучения css, когда я смотрю на верстку, которую я делал полтора года назад, она кажется более бредовой и глупой, чем сейчас показалась вам моя идея. Но это не мешало более менее проекту развиваться и приносить пользу мне и пользователям. Так что не все бредовое есть плохо, и думаю без него не будет прогресса. Я надеялся получить тут советы от более опытных людей, подсказки куда копать и как. Не получил, ничего страшного)) хуже от этого не стало ни вам ни нам.
PS Сорри за флуд | | |
|
Andre | Дата: 04 Октября 2011, 23:08 | Сообщение # 8 | ● ● ● ● ● 1822 сообщения Статус: Offline | со временем, конечно, учился, познавал азы веб строения, и теперь, после изучения css, когда я смотрю на верстку, которую я делал полтора года назад, она кажется более бредовой и глупой я через это прохожу постоянно Так что не все бредовое есть плохо, и думаю без него не будет прогресса. согласен на 100% А по существу задуманного хочу предупредить (об этом я совсем недавно писал о примерно подобной идеи), что за подобное решение можно получить БАН от системы, и не ты, а все кто зайдет на созданную подобным образом страницу! // Одновременно загружаемые страницы воспринимаются как ДОС-атака, пользователь отрубается на 1час. Есть еще желание? | | |
|
e_do | Отредактировал e_do - Вторник, 04 Октября 2011, 23:37 Дата: 04 Октября 2011, 23:37 | Сообщение # 9 | ● ● ● ● ● 13 сообщений Статус: Offline | спасибо, сразу бы так, по существу. Andre а что зазорного в использовании аякса на своем сайте? Ведь запрос же внутри своего домена(для чего я как понимаю и нужен аякс). Ведь если так взять, любой запрос с помощью аякса, кроме обращений к скриптам можно расценить как dos? Скорее всего я щас напишу в техподдержку, спрошу насчет load функции. Если так, то плохо. Раз уж пошел разговор, возможно ли реализовать, то что я говорю с помощью пхп на укозе? | | |
|
Andre | Дата: 05 Октября 2011, 01:24 | Сообщение # 10 | ● ● ● ● ● 1822 сообщения Статус: Offline | Одновременно загружаемые страницы здесь имелось ввиду большое кол-во запросов за малый промежуток времени, что и является сдос-атакой. Точное кол-во неизвестно, вероятно более 10. На счет ПХП не знаю, может это и возможно, так как запросы происходят внутри сервера. | | |
|
e_do | Отредактировал e_do - Среда, 05 Октября 2011, 22:52 Дата: 05 Октября 2011, 22:51 | Сообщение # 11 | ● ● ● ● ● 13 сообщений Статус: Offline | получил ответ от укоза. Ниже привожу переписку с службой поддержки, в течении суток переписывался, и сейчас получил окончательный ответ.
Quote Добрый день, ранее я обращался по вопросу, но вы сказали, что нельзя реализовать. Я просмотрел и нашел функцию jquery для ajax. Функция называется load , с его помощью , я реализую свою задумку. Но при обсуждении на одном из форуме (helper.ucoz) мне сказали, что за такое могут банить, оно расценивается как dos . Можете уточнить официально, это правда или нет? Могу я пользоваться таким ajax запросом? -------------------------------------- Ответ: Здравствуйте! В целях защиты от нерационального использования скриптов (а именно post/.get запросов), в uCoz действует система защиты, блокирующая IP адрес пользователя, который более 2-раз в минуту был обращен к серверу.
Время блокировки IP адреса ~ 3,5 часа. Поступил: 04.10.2011, 22:42 | Ответил: Elena | Ответ дан: 04.10.2011, 23:53 --------------------------------------- хорошо, спасибо, только я не совсем понял, мой вопрос попадает под эту защиту? Насколько я понимаю, то эта функция не отправляет никаких запросов на сервер. Можете уточнить у специалистов. Вот конкретный код который я хочу разместить в информер категорий <script type="text/javascript"> $(document).ready(function(){ $("#cid$CID$").load("$CATEGORY_URL$ #allEntries > div:first-child"); }); </script> --------------------------------- Ответ: Если функция не нагружает сервер, то блокировки не будет. Вы можете проверить работу функции на сайте. Упомянутая мной блокировка автоматическая и снимается также автоматически, но если её не будет, значит скрипт приемлемый. Поступил: 05.10.2011, 00:49 | Ответил: Elena | Ответ дан: 05.10.2011, 21:30
Скажу в добавок, что уже вторые сутки играюсь с этим кодом на отдельном акке в укозе, который открыл для проб и ошибок, естественно перегружал страницу не раз, каждый раз проверяя результат моих проб. Намека на бан даже не было со стороны системы. Вывод, код приемлемый можно пользоваться.
PS Во время экспериментов наткнулся на одну проблему, не могу сохранить результат скрипта в какую нибудь переменную для дальнейшей обработки. Не получается среди dom добраться до результата. Я после понял почему, на самом деле в контейнере (#cid$CID$), где выводится результат, висит код скрипта, вот он и копируется в переменную. Подскажите, плз, кто хавает в js, как записать в переменную результат работы скрипта. ps ps Надеюсь Andre, строго судить не будет, что я тут продолжаю описывать свои "бредовые" затеи)) | | |
|
Andre | Дата: 06 Октября 2011, 13:16 | Сообщение # 12 | ● ● ● ● ● 1822 сообщения Статус: Offline | не могу сохранить результат скрипта в какую нибудь переменную для дальнейшей обработки. Если я правильно понял то тебе нужно создать глобальную переменную и ей присваивать результаты, которые внутри функции. var название_переменной_1, название_переменной_2; В любом случаи не советую нагружать страницу кучай запросов, пожалей участников. | | |
|
Andre | Дата: 11 Октября 2011, 00:33 | Сообщение # 13 | ● ● ● ● ● 1822 сообщения Статус: Offline | блокирующая IP адрес пользователя, который более 2-раз в минуту был обращен к серверу. Ну вот я в бане . Была задача освободить один фильтр, из двух фильтров нужно сделать один, для чего требуется отредактировать 3500 материала! Естественно в ручную пусть ослы это делают, сделал автомат, после 110 запросов наверное в минуту был блокирован по IP...
Quote Your IP was temporary blocked due to high requests flow.
Ваш IP был временно заблокирован по причине слишком высокого потока запросов. | | |
|
e_do | Дата: 11 Октября 2011, 14:38 | Сообщение # 14 | ● ● ● ● ● 13 сообщений Статус: Offline | Andre, да, я понял уже)) itu влево, шаг вправо, расстрел. Укоз хорошая вещь, но не дай бог, если через год , два, или три, когда сайт раскручен, и требует каких то нестандартных решений... сразу все амбиции ломаются перед словом НЕЛЬЗЯ! | | |
|