Помогите несмышленному. Изучаю документацию. Не работает компонент. 2.X

Мои логические несостыковки, или недосказанность в документации.

 
Посетитель
small user social cms
Сообщений: 6
День добрый.

Взялся за изучение документации по CMS, и, как водится, изначально решил попробовать стандартный Hello World.

Как сказано из документации по пути /system/controllers/mycomponent/ создал файл frontend.php с содержимым:

Код PHP:
  1.  
  2. <?php
  3.  
  4. class mycomponent extends cmsFrontend{
  5.  
  6.  
  7. public function actionIndex(){
  8. echo 'its work?';
  9. }
  10.  
  11. }
  12.  
  13.  
Попытался перейти по адресу testsite/mycomponent/ - в ответ 404.

Полез копаться дальше. Обнаружил, что все компоненты зарегистрированы в БД в таблице cms_controllers.

По примеру заполнения других строк отправил запрос к БД:

Код SQL:
  1.  
  2. INSERT INTO `admin_ic`.`ic_controllers` (`id`, `title`, `name`, `slug`, `is_enabled`, `options`, `author`, `url`, `version`, `is_backend`, `is_external`, `files`, `addon_id`) VALUES (NULL, 'Тестовый компонент', 'mycontroller', NULL, '1', NULL, 'x0k', 'testsite', '1.0', '1', '1', 'system:
  3. controllers:
  4. mycomponent:
  5. 0: frontend.php', NULL);
  6.  
Появились движения - компонент стал определяться в админке. Но всё так же при попытке вывода сообщения - тишина и 404.

В общем, прошу помощи и тыкнуть меня носом, что я невнимательно еще прочитал или что не углядел.

Заранее спасибо.


UPD: может, нужно явно прописать маршрутизацию в компоненте? Или куда еще копать?
Редактировалось: 1 раз (Последний: 23 марта 2019 в 17:16)
Посетитель
small user social cms
Медаль
Сообщений: 136
Пробуйте изучать вместе с Генератор компонентов так процесс пойдет быстрей.
Причин может быть несколько...
Реклама
cms
Посетитель
small user social cms
Сообщений: 6
@DmitriyBarinov:

Пробуйте изучать вместе с Генератор компонентов так процесс пойдет быстрей.

Спасибо за совет.
Генератор компонентов уже установил, создал скелет компонента - все отобразилось и работает.
Но всё таки хотелось бы разобраться, что изначально я сделал не так.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4361
@x0k, вы всё сделали правильно, но полагаю, что где-то ошиблись в именовании.

Помогите несмышленному. Изучаю документацию. Не работает компонент.

Помогите несмышленному. Изучаю документацию. Не работает компонент.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2553
Добавлю. Искать ошибку в базе не надо.
Базово компонент отлично работает и без регистрации в controllers.
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/
Посетитель
small user social cms
Сообщений: 6
Всем спасибо, разобрался.

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

Собственно, вот: Изменение записей, пусто.

UPD: полазил по исходникам других компонентов, а именно - форум от Kreator - обнаружил методы insert, update и т.д. Но хотелось бы все же из документации раскурить, как ими адекватно пользоваться, а не методом испанского тыка в воздух.
Редактировалось: 1 раз (Последний: 23 марта 2019 в 21:51)
Посетитель
small user social cms
Медаль
Сообщений: 346
@x0k:
что в документации ничего нет по разделам "изменение записей"
Документация постепенно появляется... разработчиков рас два, всё не успевают
Редактировалось: 1 раз (Последний: 23 марта 2019 в 21:50)
Посетитель
small user social cms
Сообщений: 6
Killer's dream:

@x0k:
что в документации ничего нет по разделам "изменение записей"
Документация постепенно появляется... разработчиков рас два, всё не успевают

Так понимаю, все же придется почерпывать знания из чужого кода?
Посетитель
small user social cms
Сообщений: 6
Для таких же, как и я, только начинающих разбираться в этом всём.

Метод update
Код PHP:
  1.  
  2. $this->update($table,$id,array('key'=>'value'))
  3.  
Соответственно:
$table - таблица, в которой обновляем запись.
$id - уникальный ID записи (тот, что Auto Increment)
array('key'=>'value') - массив с заменяемыми данными, где key - имя поля, в котором заменяем данные, value - значения.

Как раскопаю остальное - дополню.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.