C

classics

+42
Репутация
119
Рейтинг
#1 Вопрос по лицензии Мапса 12 февраля 2016 в 22:45
Хотел бы приобрести для одного из сайтов InstantMaps, но возник вопрос.
У меня сайт доступен по двум именам доменов, один в зоне .ru, другой в кириллической зоне.рф
Ну как бы название фирмы в латинице на .ru и в кириллице на.рф
Соответственно народ заходит и по одному имени и по другому.
Куплю мапс и получу ключ/лицензию на домен .ru
Будет ли нормально работать мапс, если посетитель зайдёт на сайт по второму домену, в зоне.рф?
#1 Посоветуйте форум: стандартный на ICMS-1 или сторонний? 12 февраля 2016 в 20:47
Если использовать как форум SMF, то тогда ICMS не нужен.
Для SMF есть портал, файловый архив и пр., хотя лично мне SMF не нравится.
Сайт-форум лучше делать на каком-либо форумном движке.
phpBB, vBulletin, MyBB и др.
#2 Нужен фильтр для InstantMaps 10 февраля 2016 в 19:07
Еще дополню данный фильтр/поиск.
Чтобы убрать поиск с главной мапса, так как там он не ищет, дописываем пару строк.
В файле \templates\_default_\components\com_inmaps_map.tpl
после
  1. <!-- MAP -->
  2. <div id="map_wrapper">
вставляем строчку
  1. {if $root_cat.seolink !== ''}
и после строчки
  1. </form>
вставляем
  1. {/if}
Всё. Быстрый поиск по объектам мапса готов.
Ищет по названию или части названия объекта, по адресу(улице) или части названия улицы объекта и по округу объекта или иной характеристике, которую мы включим в поиск.
#3 Нужен фильтр для InstantMaps 9 февраля 2016 в 22:47
В общем сделал для себя какой мне нужно поиск для v1.9, стандартный фильтр отключил, чтобы они не мешали друг другу.
Изменения в 2 файлах вносятся.
В \templates\_default_\components\com_inmaps_map.tpl и \www\components\maps\frontend.php

Если кому интересно то порядок действий такой.
Файл \templates\_default_\components\com_inmaps_map.tpl

вверху после кода
  1. <!-- MAP -->
  2. <div id="map_wrapper">
вставляем форму поиска по нужным полям или характеристикам.
здесь у меня поиск по трём полям: название объекта, улица и такая характеристика как округ,
для себя можете сделать и другие, хоть описание объекта, мэтатеги, контакты и пр.и любые характеристики.

Вставляем:
  1. <form action="/maps/{$root_cat.seolink}" method="post">
  2. <table border="0" cellpadding="2" cellspacing="0" width="100%">
  3. <tbody><tr>
  4. <td style="padding-top:8px;"><strong>Район:</strong></td>
  5. <td>
  6. <select name="srch_rayon">
  7. <option {if $srch_rayon == '(все)'} selected="selected" {/if} value="">(все)</option>
  8. <option {if $srch_rayon == 'ЦАО'} selected="selected" {/if} value="ЦАО">ЦАО</option>
  9. <option {if $srch_rayon == 'ЗАО'} selected="selected" {/if} value="ЗАО">ЗАО</option>
  10. <option {if $srch_rayon == 'САО'} selected="selected" {/if} value="САО">САО</option>
  11. <option {if $srch_rayon == 'ЮАО'} selected="selected" {/if} value="ЮАО">ЮАО</option>
  12. <option {if $srch_rayon == 'ВАО'} selected="selected" {/if} value="ВАО">ВАО</option>
  13. </select>
  14. </td>
  15. <td style="padding-top:8px;"><strong>Название организации:</strong></td>
  16. <td><input type="text" name="srch_name" value="{$srch_name}" /></td>
  17. <td style="padding-top:8px;"><strong>Адрес(улица):</strong></td>
  18. <td><input type="text" name="srch_street" value="{$srch_street}" /></td>
  19. <td> <input value="Найти" type="submit"></td>
  20. </tr></tbody></table>
  21. </form>
теперь переходим к файлу \www\components\maps\frontend.php

вверху после строчек
  1. //получаем входные параметры
вставляем, дописываем нужные нам параметры поиска:
  1. //получаем данные с формы поиска обьекта
  2. if(!$srch_rayon) $srch_rayon = $inCore->request('srch_rayon', 'str', ''); // округ
  3. if(!$srch_name) $srch_name = $inCore->request('srch_name', 'str', ''); // название объекта
  4. //$srch_name = urldecode($srch_name);
  5. if(!$srch_street) $srch_street = $inCore->request('srch_street', 'str', ''); // адрес: улица
  6. //$srch_street = urldecode($srch_street);
  7.  
находим строчку
  1. // ------- получаем значения фильтров -----------------
и после неё вставляем код:
  1. if($srch_rayon) $model->whereCharIs(37, $srch_rayon);
  2. else {
и перед следующим разделом
  1. //получаем хар-ки категории
вставляем
  1. }
Тут нужны пояснения.
В админке мапса мы задали характеристику "Округ" и привязали её ко всем объектам.
Тип характеристики указали Набор опций и в "возможные значения" перечислили все возможные округа, у нас это ЦАО, САО, ЗАО, ВАО, ЮАО.
Множественный выбор в фильтре отключили.
Соответственно у нас в админке теперь при добавлении/редактировании объектов появилась возможность прописать каждому объекту свой округ или даже несколько округов. Наведя курсор на этот фильтр в админке в "Характеристики объектов" мы увидим номер этого фильтра, его item_id=
у меня он 37, вот его мы и пропишем в нашем поиске.
То есть выше мы отключаем стандартный фильтр, если задали поиск по одной из характеристик фильтра и указываем номер фильтра и какая переменная за него у нас будет отвечать.

находим строчку:
  1. $model->where('i.published=1');
и перед ней вставляем:
  1.  
  2. if($srch_name) $model->where('i.title like \'%'.$srch_name.'%\''); // найти имя объекта
  3. if($srch_street) $model->where('m.addr_street like \'%'.$srch_street.'%\''); // найти улицу объекта
  4.  
это мы добавляем в sql-код поиск в базе данных нужный полей.

теперь если объектов больше чем на одну страницу, нам нужно сформировать пангинацию,
поэтому после строчки
  1. if ($filter_str){ $pages_url .= '/' . urlencode($filter_str); }
и перед строчкой
  1. $pagebar = cmsPage::getPagebar($total, $page, $perpage, $pages_url);
вставляем код
  1. if($srch_name) { $pages_url .= '?srch_name=' . urlencode($srch_name); }
  2. if($srch_street && $srch_name) { $pages_url .= '&srch_street=' . urlencode($srch_street); }
  3. else if ($srch_street) { $pages_url .= '?srch_street=' . urlencode($srch_street); }
  4. if( ($srch_rayon && $srch_name) || ($srch_rayon && $srch_street)) { $pages_url .= '&srch_rayon=' . urlencode($srch_rayon); }
  5. else if($srch_rayon) { $pages_url .= '?srch_rayon=' . urlencode($srch_rayon); }
наверняка этот код можно упростить, но я с регулярными выражениями не знаком.

И наконец для того чтобы передать в шаблон переменные,
перед строчкой
  1. $smarty->display($root_cat['tpl']);
вставляем код
  1. $smarty->assign('srch_name', $srch_name);
  2. $smarty->assign('srch_street', $srch_street);
  3. $smarty->assign('srch_rayon', $srch_rayon);
Не забываем перед внесением изменений сделать копии изменяемых файлов.
Таким образом по аналогии можно сделать любой поиск по полям объекта и его характеристикам.
Да, и не знаю нужно там для них использовать функции urlencode и urldecode...
А ещё, он работает только в какой-либо категории, на главной мапса работать не будет,
тут его или убрать с главной нужно или смотреть как задать чтобы работал и с главной,
этим пока не заморачивался.
#4 Нужен фильтр для InstantMaps 9 февраля 2016 в 21:37
А какие файлы закодированы в InstantMaps для первой ветки? frontend.php или model.php или оба или ещё какие-то?
#5 Нужен фильтр для InstantMaps 9 февраля 2016 в 00:25
Помимо фильтров, мне кажется в мапсе было бы очень полезно cделать и поля поиска по существующим полям объекта
и возможность в админке включать эти поля в поиск или не включать.
У всех объектов есть поля: название объекта, город, адрес(улица), телефон, веб-сайт и пр., но почему то нет поиска объектов по этим полям, что весьма странно. Например ввел название улицы и вывел все объекты на этой улице, по моему это вполне естественно было бы. Или знаешь название нужной конторы/фирмы, ввел название и сразу получил искомый объект.
Ну и плюс фильтры по характеристикам. Либо, на усмотрение разработчика, и поля объекта должны автоматически входить в какую-то специальную группу характеристик объекта, которые нельзя удалить, а можно только не включать в поиск/фильтрацию. Это про первую ветку.
А то даже на демо сайте мапса в поле "Найти адрес" ввожу "Красноармейская" и она ничего не находит, хотя с таким названием улица объект вижу.

А во второй ветке в мапсе помимо этого еще поля поиска/фильтрации должны в админке легко размещаться в нужном месте шаблона, как это вообще сделано во втором ветке. Тогда в админке будет легко сформировать нужные фильтры и сразу красиво разместить их в нужнои месте(ах).
#6 [ЕСТЬ РЕШЕНИЕ] Проблемы с базой mysql - большая нагрузка блогов 8 февраля 2016 в 10:09

А с редактированием постов вообще непонятно что творится — редактируешь, сохраняешь, изменений нет. Отредактированный текст в таком виде появится только через несколько часов.

где-то включено кэширование…
#7 Нужен фильтр для InstantMaps 8 февраля 2016 в 09:53
Олег с клещами, хм, интересно, но ведь у разных категорий объектов (во всяком случае в первой ветке), можно задавать разные фильтры(то есть характеристики), а у вас для всех категорий один и тот-же фильтр, хотя например под категории "Питание, Развлечение, Магазины и пр. он совершенно не подходит. Ну вероятно у вас это просто образец? А в двойке можно задавать расположение полей с характеристиками фильтра или это надо самому как-то вручную делать в шаблонах?
#8 Редирект 7 февраля 2016 в 14:42
собственно грамотное решение привел Pasha тут: instantcms.ru/forum/thread23798-1.html
#9 Нужен фильтр для InstantMaps 7 февраля 2016 в 14:41
Беритесь. hohoлюбая работа должна быть оплачена.
#10 Редирект 7 февраля 2016 в 02:56

Тут предлагалось решение (обновление компонента редирект) с созданием страницы прокладки)

Отличное решение(я бы там таймер вообще убрал от автоматических переходов), но поскольку для моей версии движка 1.9 этого решения не нашёл, то для себя сделал иначе.
1. Поставил плагин замены ссылок на текст "[только для зарегистрированных]".
2. Заменил конструкцию /go/ на другую(ну например /gau/) и теперь по конструкции "go/url=" клиент получит 404 страницу,
вот теперь из access log код ответа 404.
  1. 123.157.209.62 - - [07/Feb/2016:02:50:10 +0300] "GET /redirect?url=https://www.sunfrog.com/Agedperfection/stats.g.doubleclick.net/dc.js HTTP/1.0" 404 1516 "-" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.16"
Как такой вариант?
#11 Нужен фильтр для InstantMaps 7 февраля 2016 в 00:01

classics, если для второй ветки, то там все есть… Для первой не помню уже. Могу пример показать в личке.

AndroS
AndroS, для первой, для InstantCMS v1.9, если можно пример в личку покажите.
#1 Нужен фильтр для InstantMaps 6 февраля 2016 в 21:28
Нужна индивидуальная доработка InstantMaps.
К сожалению разработчики у себя на сайте пишут что индивидуальными доработками они не занимаются, но и не запрещают привлекать для этого собственных специалистов.
Нужен фильтр как тут: kvartel.com/places/standart для InstantCMS v1.9
Подробнее по ICQ 350192996
#12 Мобильный сайт | Смена шаблона 5 февраля 2016 в 21:16
А как быть с кэшированием модулей? Если стоит кэширование модулей, то ничего не будет сбиваться? Кто-то зашёл с компьютера, кто-то с телефона… вертикальное меню опять же.
#13 [ЕСТЬ РЕШЕНИЕ] Проблемы с базой mysql - большая нагрузка блогов 4 февраля 2016 в 00:16
1. Унять прыть поисковых ботов.
у меня в robots.txt прописано так: (может что и лишнее)
  1. User-agent: *
  2. Disallow: /go/
  3. Disallow: /search/tag/
  4. Disallow: /rss/
  5. Disallow: /errors
  6.  
  7. User-agent: Slurp
  8. Crawl-delay: 100
  9. User-agent: MJ12bot
  10. Disallow: /
  11. User-agent: AhrefsBot
  12. Disallow: /
другие боты пока не мешали и нагрузку не вызывали, хотя майловский бот и усердствует по ночам, его не пришлось трогать.
Смотрите в логах доступа на сервере в момент большой нагрузки что происходит. Может и майло бот тоже ограничить.
Если будут хамить и не слушаться robots.txt то можно их убить в .htaccess (выбрать какой именно хамит)
  1. RewriteCond %{HTTP_USER_AGENT} SolomonoBot [NC,OR]
  2. RewriteCond %{HTTP_USER_AGENT} SearchBot [NC,OR]
  3. RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC,OR]
  4. RewriteCond %{HTTP_USER_AGENT} Slurp [NC,OR]
  5. RewriteCond %{HTTP_USER_AGENT} AhrefsBot
  6. RewriteRule .* - [F,L]
если конечно эти боты вам не нужны.

2. Большая нагрузка блогов на главной странице в модуле или при просмотре самих блогов? Если модуль "последние блоги" на главной, то включите для него кэширование, скажем минут 5 и посмотрите на нагрузку, может и для других модулей стоит включить кэширование.

3. У меня были проблемы и на стороне хостера, виртуальный хостинг у Ру-Центра, проблемы и мне и им надоели и они перенесли базу на другой сервер(компьютер) и всё значительно улучшилось и нормально заработало.
При посещаемости 1000 чел в сутки вот такая картина нарузки на память сервера:

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