Ris

Ris

+657
Репутация
3771
Рейтинг
#1 Как правильно разрулить FULLTEXT с типом таблиц InnoDB 21 января 2019 в 19:26
Loadырь,
Проводим эксперимент.
Ставим чистую INSTANTCMS2.11.0 на опенсервер. Модуль mysql — mysql5.8 (8.0.12).
Смотрим енджайн таблиц:

Видно без очков, что таблицы имеющие FULLTEXT индекс остались в MyISAM.
Таблица cms_photos тоже.

Далее конвертим cms_photos в InnoDB.
Тут же получаем характерную ошибку:
Ошибка в запросе БД:
  1. Невозможно отыскать полнотекстовый (FULLTEXT) индекс, соответствующий списку столбцов
  2.  
  3. SELECT i.*, MATCH(i.title) AGAINST ('\"98176037\"' IN BOOLEAN MODE) AS `fsort`, u.nickname AS `user_nickname`, u.is_deleted AS `user_is_deleted`, u.avatar AS `user_avatar`
  4. FROM cms_photos i
  5. INNER JOIN cms_users AS u ON u.id = i.user_id
  6. INNER JOIN cms_con_albums AS al ON al.id = i.album_id
  7. WHERE (i.id <> '1') AND (MATCH(i.title) AGAINST ('\"98176037\"' IN BOOLEAN MODE)) AND (al.is_approved = '1')
  8. ORDER BY fsort DESC
  9. LIMIT 20
  10. Последние вызовы:
  11.  
  12. cmsModel->GET() @ /system\controllers\photos\model.php : 123
  13. modelPhotos->getPhotos() @ /system\controllers\photos\frontend.php : 45
  14. photos->getPhotosList() @ /system\core\action.php : 29
  15. cmsAction->__call() @ /system\controllers\photos\actions\VIEW.php : 382
  16. actionPhotosView->getRelatedPhoto() @ /system\controllers\photos\actions\VIEW.php : 235
  17. actionPhotosView->run() @ /system\core\controller.php : 536
  18. cmsController->runExternalAction() @ /system\core\controller.php : 449
  19. cmsController->executeAction() @ /system\core\controller.php : 425
  20. cmsController->runAction() @ /system\controllers\photos\frontend.php : 15
  21. photos->route() @ /system\core\controller.php : 474
  22. cmsController->executeAction() @ /system\core\controller.php : 425
Мысль такая, что фултекст на InnoDB работает как-то не так, как на MyISAM.
#2 [ЕСТЬ РЕШЕНИЕ] Найдены ошибки в форме 20 января 2019 в 21:43

Включите режим отладки и смотрите, что в логах пишется.

Loadырь
Боюсь, что там надо console в отладке браузера смотреть.
@Riman,
Жмите F12 и ошибки в console пишите сюда.
#3 новый формат поля для регистрации 20 января 2019 в 01:35
@Sin13,
Теперь понял. Нужно, чтобы поле было именно на первой странице регистрации? но не было обязательным?
Тогда достаточно дописать семь строк в файл \system\controllers\auth\forms\form_registration.php
  1. <?php
  2.  
  3. class formAuthRegistration extends cmsForm {
  4.  
  5. public function init() {
  6.  
  7. return array(
  8.  
  9. 'basic' => array(
  10. 'type' => 'fieldset',
  11. 'childs' => array(
  12. new fieldString('email', array(
  13. 'title' => LANG_EMAIL,
  14. 'rules' => array(
  15. array('required'),
  16. array('email'),
  17. array('unique', 'cms_users', 'email')
  18. )
  19. )),
  20. new fieldString('phone', array(
  21. 'title' => LANG_PHONE,
  22. 'rules' => array(
  23. array('phone'),
  24. array('unique', 'cms_users', 'phone')
  25. )
  26. )),
  27. new fieldString('password1', array(
  28. 'title' => LANG_PASSWORD,
  29. 'is_password' => true,
  30. 'options'=>array(
  31. 'min_length'=> 6
  32. ),
  33. 'rules' => array(
  34. array('required')
  35. )
  36. )),
  37. new fieldString('password2', array(
  38. 'title' => LANG_RETYPE_PASSWORD,
  39. 'is_password' => true,
  40. 'options'=>array(
  41. 'min_length'=> 6
  42. ),
  43. 'rules' => array(
  44. array('required')
  45. )
  46. ))
  47. )
  48. )
  49.  
  50. );
  51.  
  52. }
  53.  
  54. }
  55.  
И не нужно никаких

правки, создал классы, переводы, логику.

@Sin13
Чтобы это было в виде дополнения достаточно его оформить в виде дополнения:
/users/files/download7072.html
#4 новый формат поля для регистрации 20 января 2019 в 00:57

Насколько я смог понять, нужно чтобы поля были, когда непосредственно жмешь Регистрацию и попадаешь на эту страницу?

alkokrolik
Достаточно убрать галку "Показывать в профиле" с поля "Телефон".
Тогда оно будет доступно только при редактировании (если разрешить юзеру доступ для изменения).
#5 новый формат поля для регистрации 20 января 2019 в 00:02
@Sin13,
#6 новый формат поля для регистрации 19 января 2019 в 23:18

Штатными средствами решить не смог

@Sin13
Попробуйте смочь. Это возможно 100%
#7 Не получается установить InPlayer на локалку 18 января 2019 в 12:06

конструктора, выдает ошибку 503.

Cossary
Включите отладку в настройках сайта. Будет видно, где ошибка.

Может где есть подробная инструкция по установке его?

Cossary
docs.instantcms.ru/manual/addons
#8 [ЕСТЬ РЕШЕНИЕ] Авария на сайте 14 января 2019 в 22:13

Откройте phpmyadmin — sql — выполните такой запрос

Evanescence
Вот этот запрос надо в какой-нибудь FAQ занести. Регулярно на форуме темы о забытом пароле админа.
#9 Уведомления в 2ке ? 6 января 2019 в 18:32

где хранятся Уведомления в 2ке

lezginka.ru
В базе. Таблица cms_users_notices
#10 [ЕСТЬ РЕШЕНИЕ] Как настроить рандом в разделе сайта? 5 января 2019 в 20:10
Светлана,
Думаю, что предложение

У меня есть модуль вывода статей в случайном порядке...

Rainbow
именно то, что Вам надо!
Располагаете этот модуль на странице конкурсов и будет именно то, что Вы хотели.
#11 [ЕСТЬ РЕШЕНИЕ] Как настроить рандом в разделе сайта? 5 января 2019 в 18:35
vikont,
У Светланы первая ветка, поле для второй.

Я вообще в этом деле чайник))

Светлана
Тогда разместите объявление на этом форуме в разделе "Ищу исполнителя". Может кто откликнется.
#12 [ЕСТЬ РЕШЕНИЕ] Как настроить рандом в разделе сайта? 5 января 2019 в 17:15

Подскажите, пожалуйста, возможно ли настроить рандомную выдачу? И если да, то что для этого требуется: плагин, расширение, специальная программа?

Светлана
В компоненте content есть вызов события
  1. $cat = cmsCore::callEvent('GET_CONTENT_CAT', $cat);
На это дело можно повесить плагин, который будет перемешивать статьи в рандомном порядке.
Это про статьи.
А конкурсы, которые Вы проводите, к какому компоненту относятся? Это статьи, посты в блогах, вопросы faq или какой-то свой компонент?
#13 [ЕСТЬ РЕШЕНИЕ] Активировать сторонний плагин без установки в админке 5 января 2019 в 16:40

не сработало.

Андрей
То есть нужные строки в cms_plugins добавились, файлы есть в папке plgins, а сами плагины не работают?
------------------------------------
Есть еще такая таблица cms_event_hooks
Посмотрите, что в неё добавляется при установке плагинов. Соответственно также скопировать предпросмотренный код вставки нужных строк и тоже добавить в установочный файл.
#14 [ЕСТЬ РЕШЕНИЕ] Активировать сторонний плагин без установки в админке 5 января 2019 в 15:00
Андрей,
Можно попробовать сделать следующим образом.
Установить все нужные плагины нормальным способом в админке, после чего зайти в phpmyadmin, таблица cms_plugins, выделить галками нужные плагины, и нажать "С отмеченными копировать".
В открывшемся окне внизу нажать "Предпросмотр SQL", скопировать команду, заменить в ней cms_ на cms_ и использовать в установочном файле.
#15 Обновление до 2.10.1 до 2.11 4 января 2019 в 23:41
Прямо завидую людям!
Обновились и пишут вопросы на форуме.
А мне еще пару недель на локальном сервере все обновления тестировать. 😒
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.