хак модуля Рейтинг для iMaps

1205
Привет !
(обновил))
Это моя первая запись , прошу строго не судить )
Будет полезна всем у кого установлен instant MAPS .

Решил проверить время генерации страниц в Maps и обнаружил, что оно в среднем ~ 5сек!
Это много !
Нашел, что вызывает это модуль - instantMaps: Популярные объекты. который я включил
отображать везде в компоненте.

Причем это торможение появляется только в режиме его работы - Город : Указанный пользователем.
В этом режиме модуль сам детектит город и выводит все только для него.
Отличный режим для сайтов на несколько городов.
Кешировать его нельзя в этом режиме..

// У кого включен этот режим - проверьте скорость генерации страницы.
// У меня доходило до 9 сек ! scratch

залез в него, а там почти все запросы идут через model.php , который как известно - закодирован.
Да и сам модуль оказался версии 1.3 от 2010 (хотя сам уже мапс 1.9 2012) ..
Давно уже модуль не модернизировали..

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

Время генерации страницы с этим модулем теперь у меня ~0.2 - 0.3 сек.
Намного приятней стало ! )

Установка - скачать и залить поверх своего. (/modules/mod_maps_rating/model.php)
Должен встать на любую версию.

Перед копированием , обязательно сделайте копию своего. smile

лежит тут




Вот второй вариант :

Дубль 2

Он показывает объекты только той категории куда зашли.
Выводит те объекты у которых эта категория основная.
Если нет таких , выводит все подряд )
Хак блогов. ALT для вложенных картинок
Комментарии (16)
krz 30 марта 2012 в 16:26 0
да есть такое, причем с модулем как популярное так и новое, у меня еще в раздел новости заходит секунд 10, вы бы не могли и его посмотреть??
KS 30 марта 2012 в 16:35 0
А модуль "Новое" уже в обновлении мапс1.9 оптимизированный идет.
У меня на мапс1.8 тоже вешал все сильно, сейчас - летает
Вы его обновили?
krz 30 марта 2012 в 16:49 +1
в процессе ))
krz 30 марта 2012 в 16:53 0
но страница точно тормозит, с новостями, даже на обновленном ((
KS 30 марта 2012 в 17:27 0
у меня в новостях пусто ... сравнить не могу.
посмотрел, модуль новости тоже не обновлялся давно ...
у меня как новости пойдут в модуле, сразу его переделаю и здесь выложу ! )
krz 30 марта 2012 в 18:12 0
я писал не про модуль новости , а именно страница, сейчас вам скину пример
Def 30 марта 2012 в 23:50 0
да компонент в плане количества запросов не оптимизирован вообще. порядка 108 запросов на страницу
KS 31 марта 2012 в 03:59 0
Там запросы маленькие и индексированы. Это не страшно.
У меня ~400 запросов. Думал изза этого тормозит, оказалось нет )
Def 30 марта 2012 в 23:47 +1
а как вывести популярные объекты в данном модуле, но: когд на главной странице компонента-самые популярные из всех категорий (что уже и так есть), а когда хаходишь в любую категорию, чтобы выводило именно из этой категории?

это логичнее, чем выводить всегда одно и то же
KS 31 марта 2012 в 04:00 0
Хорошая идея ! Но тогда желательно уже не модулем , а внедрить в компонент, так лучше будет и проще .
Скорее всего попробую сделать.
Def 31 марта 2012 в 12:16 0
да, было бы очень полезно. а как его в компонент внести, если закрыт файл компонента
KS 31 марта 2012 в 14:40 +1
Через frontend и шаблоны можно почти все!

Переделал еще раз модуль рейтинга . Ссылка №2 на верху.

Теперь он выводит объекты из той категории , которую просматривают.

Выводить может только те объекты у которых эта категория основная стоит.
На первое время пойдет. )

Потом сделаю прямо в компоненте, так более гибко можно будет настроить.
Def 1 апреля 2012 в 13:06 0
а как сделать, чтобы при добавлении события, можно было добавлять не только число месяц и год, но и часы и минуты?)
KS 1 апреля 2012 в 14:13 0
Это не так легко.
Там уже нужен доступ в модел.пхп ...
Jetwin 5 мая 2012 в 16:30 0
А у меня, вот, что-то не заработало.

Использовал второй вариант, но ничего не изменилось. Что я делаю не так? Файл, конечно, заменил.

А выводит, по-прежнему, все популярные объекты, не смотря на то, что я нахожусь в одной категории.

Попробовал Ваши SQL-запросы напрямую к базе: в первом выбираются все объекты из одной категории, во втором - вообще все. Естественно, сортируются по рейтингу. Дописал к первому запросу AND i.rating > '0' - ничего не поменялось.

Не могли бы Вы помочь?
Jetwin 5 мая 2012 в 16:52 0
Со своей проблемой разобрался. На сайте один город, в запрос передавалась пустая переменная $city.