F

F_a_R_i_D

+74
Репутация
193
Рейтинг
#1 Нужен ли такой компонент? 12 июля 2025 в 12:34

Привет. А нельзя подобный компонент в других направлениях использовать? Именно уведомления. Уведомление о новых публикациях, комментариях и т.д.

#1 Живой поиск Ajax 4 июля 2025 в 16:16

Есть дополнение живот поиск 

При вводе ключевых слов приходят подсказки с совпадениями в заголовках. При нажатии на эти подсказки сразу перебрасывает на публикацию. Мне нужно, чтобы это ключевое слово в строке поиске искала все публикации с этим ключевым словом. 

Что редактировать в файле, чтобы решить эту проблему?

widget_autocomplete.php

  1. <?php
  2.  
  3. class actionSearchWidgetAutocomplete extends cmsAction {
  4.  
  5. public function run() {
  6.  
  7. if (!$this->request->isAjax() || !($term = $this->request->get('term', ''))) {
  8. return cmsCore::error404();
  9. }
  10.  
  11. $default_order_by = !empty($this->options['order_by']) ? $this->options['order_by'] : 'fsort';
  12.  
  13. $query = $this->request->get('term', '');
  14. $type = $this->request->get('type', 'words');
  15. $date = $this->request->get('date', 'all');
  16. $order_by = $this->request->get('order_by', $default_order_by);
  17.  
  18. if (!in_array($order_by, ['fsort', 'date_pub'], true)) {
  19. return cmsCore::error404();
  20. }
  21.  
  22. if (!in_array($type, ['words', 'exact'], true)) {
  23. return cmsCore::error404();
  24. }
  25.  
  26. if (!in_array($date, ['all', 'w', 'm', 'y'], true)) {
  27. return cmsCore::error404();
  28. }
  29.  
  30. $result_all = [];
  31.  
  32. if ($this->request->has('term')) {
  33.  
  34. if (!$query || !$this->model->setQuery($query)) {
  35. cmsUser::addSessionMessage(LANG_SEARCH_TOO_SHORT, 'error');
  36. return $this->redirectToAction('');
  37. }
  38.  
  39. $this->model->setSearchType($type);
  40. $search_controllers = cmsEventsManager::hookAll('fulltext_search', $this, []);
  41.  
  42. foreach ($search_controllers as $search_controller) {
  43. foreach ($search_controller['sources'] as $sources_name => $sources_title) {
  44.  
  45. if (!empty($this->options['types']) && !in_array($sources_name, $this->options['types'])) {
  46. continue;
  47. }
  48.  
  49. if (empty($search_controller['match_fields'][$sources_name])) {
  50. continue;
  51. }
  52.  
  53. $this->model->filterDateInterval($date);
  54.  
  55. if (!empty($search_controller['joins'][$sources_name])) {
  56. $this->model->applyJoins($search_controller['joins'][$sources_name]);
  57. }
  58.  
  59. if (!empty($search_controller['filters'][$sources_name])) {
  60. $this->model->filterSearch($search_controller['filters'][$sources_name]);
  61. }
  62.  
  63. $this->model->setMatchFields($search_controller['match_fields'][$sources_name])->filterQuery();
  64.  
  65. $results_count = $this->model->getCount($search_controller['table_names'][$sources_name], false);
  66.  
  67. if ($results_count) {
  68. $this->model->selectList($search_controller['select_fields'][$sources_name]);
  69.  
  70. $result = $this->model->getSearchResults($search_controller['table_names'][$sources_name]);
  71.  
  72. foreach ($result as $key => $item) {
  73. if (is_callable($search_controller['item_callback'])) {
  74. $result[$key] = call_user_func_array($search_controller['item_callback'], [
  75. $item,
  76. $this->model,
  77. $sources_name,
  78. $search_controller['match_fields'][$sources_name],
  79. $search_controller['select_fields'][$sources_name]
  80. ]);
  81.  
  82. if ($result[$key] === false) {
  83. unset($result[$key]);
  84. }
  85. }
  86. }
  87.  
  88. $result_all = array_merge($result_all, $result);
  89. }
  90.  
  91. $this->model->resetFilters();
  92. }
  93. }
  94. }
  95.  
  96. $results = [];
  97.  
  98. foreach ($result_all as $item) {
  99. $results[] = array(
  100. 'id' => $item['id'],
  101. 'label' => trim(strip_tags($item['title']), "."),
  102. 'value' => strip_tags($item['title']),
  103. 'url' => $item['url'],
  104. 'image' => html_image_src($item['photo'], 'micro', true)
  105. );
  106. }
  107.  
  108. // Ограничиваем до 8 результатов
  109. $results = array_slice($results, 0, 8);
  110.  
  111. return $this->cms_template->renderJSON($results);
  112. }
  113.  
  114. }
#3 Очень нужен совет 4 июля 2025 в 09:10

РФ это уже есть

DeeMon

в определённом регионе

F_a_R_i_D

Не для РФ, но всеравно спасибо за отклик.

Решил слепить что-то в таком стиле

Изображение

#1 Очень нужен совет 3 июля 2025 в 11:32

Здравствуйте.

Если в определённом регионе нету ни одного из перечисленных проектов, то который вы выбрали бы на реализацию?

Также комментарии и вопросы приветствуются.

Добавлено спустя 3 минуты

Это правда может и странный опрос, но никак не могу найти ответы для себя уже больше месяца.

#1 Фильтр контента по городам 25 июня 2025 в 16:46

Здравствуйте. Есть ТК — Новости, парсер парсит с различных источников по категориям, но к сожалению, на многих сайтах нету фильтра по городам. Только по заголовку или же тексту новости можно понять о каком городе новость. У нас в стране 60-70 городов максимум. Как можно реализовать фильтр по городам? Через редактор или полем. Было бы в ручную, я бы отделил это через поле. Может куда-то можно добавить список этих городов. Система определит сразу увидет название в тексте или заголовке.

#6 [ЕСТЬ РЕШЕНИЕ] Вывод списка контента в профиле пользователя 25 июня 2025 в 09:32

Если я вас правильно понял, то вы хотите вывести определённый ТК в профиле пользователя.

Что-то похоже есть, но для групп: instantcms.ru/blogs/vyvedem-kontent-gruppy-v-spiske-polei-gruppy.html

Думаю для профиля тоже подойдёт, если немного отредактировать.

#7 Не проходит модерацию приложение 25 июня 2025 в 09:21

 Happy, Да, я поторопился. Бывает, на ошибках учатся)

#8 Не проходит модерацию приложение 24 июня 2025 в 15:12

Когда заходите в мобильную версию сайта через браузер — вот в WebWiev приложении тоже самое. Ничем не отличается от мобильной версии сайта, кроме того, что это отдельное приложение

ivan

Да, я поинтересовался. К сожалению, Apple store не принимает подобные приложения, может быть уже и Play Store также. Хотя, я уже заплатил 600 рублей)

#9 Не проходит модерацию приложение 21 июня 2025 в 13:03

Кто-то заказывал ещё WebView приложение? Чем-то он отличается от приложения, которое разрабатывается с нуля? Какие могут быть минусы?

#10 Не проходит модерацию приложение 19 июня 2025 в 21:30

Привет. Не подскажете как сделали это приложение? И подходит ли оно для Play Store?

#11 Монетизация своих сайтов 19 июня 2025 в 13:47

в рф нет адсенс

 
kalikimaka

Я не с РФ, поэтому интересуюсь. Может найду что-нибудь стоящее. Хотя, на адсенс не прошёл проверку. 

#12 Монетизация своих сайтов 18 июня 2025 в 19:57

А Adsense как? Раньше не плохо платил? 

#13 Требуется решение "под ключ": доработа/разработка модуля + натянуть дизайн 18 июня 2025 в 16:42

Также интересует

#1 Монетизация своих сайтов 18 июня 2025 в 16:17

Здравствуйте, уважаемое сообщество!

Я сам уже почти 10 лет не зарабатываю на своих сайтах (быстро закрываю, не нахожу рекламодателей + для меня в первую очередь это хобби).

Но пришло время и я хочу найти партнёрки, где можно хоть немного заработать на своих сайтах. Какими вы пользуетесь, как вы зарабатываете на своих сайтах? Расскажите, если не секрет )

Я зарегистрировался на рекламной сети Яндекса, добавил блоки, буду смотреть эффективность.

#15 Zauth: авторизация с помощью соц. сетей 10 июня 2025 в 08:41

 Антон, если вы покупали компонент с открытым исходным кодом, вы можете внести правки сами. Какие — есть по ссылке www.zau4man.ru/blog/360-obnovlenie-komponenta-zavtorizacija-1-1-2.html

Zau4man

В обновлении только это изменение? Или есть ещё и другие изменения? Я про открытый исходный код. Потом если выйдет другое обновление, я смогу нормально обновиться?

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.