E

Eisman

+6
Репутация
2
Рейтинг
#1 Нужно создать загрузчик файлов для пользователей. 25 апреля 2018 в 00:53
@realty1305,

есть-ли возможность реализовать нечто подобное?

@realty1305
В двойке есть поле "Файл". если создать тип контента "Файлы", удалить все поля кроме "Файл" (+- описание и название (и имагу для превью)), то можно запилить неплохой костыль "Файлообменник"
#3 В виджет "список контента" добавить отображение рейтинга и количества просмотров записей 26 мая 2017 в 01:24
В файл шаблона, который указан в опциях виджета (один из тех, что расположены в /templates/default/controllers/content/widgets/list) добавить код для просмотров
  1.  
  2. <?php if (!empty($item['hits_count'])){ ?>
  3. <span class="bar_item bi_hits">
  4. <?php echo $item['hits_count']; ?>
  5. </span>
  6. <?php } ?>
  7.  
и для рейтнга
  1.  
  2. <?php if (!empty($item['rating'])){ ?>
  3. <span class="bar_item bi_rating">
  4. <?php echo $item['rating']; ?>
  5. </span>
  6. <?php } ?>
  7.  
#5 ЧПУ для пользователей и пользовательских групп 22 мая 2017 в 05:39
Хмм… Можно запилить дополнительную таблицу алиасов с полем алиасов в таблице users
  1.  
  2. CREATE TABLE `cms_aliases` (
  3. `alias` VARCHAR(200) DEFAULT NULL,
  4. `controller` VARCHAR(200) DEFAULT NULL,
  5. `action` VARCHAR(200) DEFAULT NULL
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  7.  
  8. INSERT INTO `cms_aliases` (`alias`, `controller`, `action`) VALUES
  9. ('adminko', 'users', '1'),
  10. ('grupko', 'groups', '1');
  11.  
  12. ALTER TABLE `cms_aliases` ADD UNIQUE KEY `alias` (`alias`);
  13.  
  14. ALTER TABLE `cms_users` ADD `alias` VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `email`, ADD UNIQUE (`alias`);
  15.  
и лефтджойнить их на совпадения. Так как URL в InstantCMS не формируется, а парсится функцией route(), то в функции runController() класса cmsCore нужно еще будет дописать нечто похожее на это
  1.  
  2. $db = cmsDatabase::getInstance();
  3. $row = $db->getRow('aliases',"`alias` = '{$this->uri}'");
  4.  
  5. if(!empty($row)){
  6. $this->uri_controller = $row['controller'];
  7. $this->uri_action = $row['action'];
  8. }
  9.  
Ну и естественно переписать все ссылки в шаблоне. Ну это как один из возможных вариантов реализации))
#6 Запрос в базу +1 9 мая 2017 в 01:26

Я хочу например сделать подписчиков.

Нико
system/controllers/comments/actions/track.php — "добавить подписчиков"
system/controllers/comments/actions/track_stop.php — "удалить подписчиков"

P.S. Если нужно показать подписчиков пользователя, иными словами — "людей, которые отправили запрос в друзья, но пользователь его не одобрил (как ВК)", то уже есть таблица cms_users_friends, где поле is_mutual == 0 говорит о том, что дружба не взаимна
#7 Как убрать расширение .html ? 8 мая 2017 в 22:07
@undgrnd,
В файле /system/controllers/content/routes.php, примерно со 156 по 168 строку заменить
  1.  
  2. 'pattern' => '/^([a-z0-9\-_]+)\/([a-zA-Z0-9\-\/]+).html$/i',
  3. 'action' => 'item_view',
  4. 1 => 'ctype_name',
  5. 2 => 'slug'
  6. ),
  7.  
  8. 'pattern' => '/^([a-zA-Z0-9\-\/]+).html$/i',
  9. 'action' => 'item_view',
  10. 'ctype_name' => cmsConfig::get('ctype_default'),
  11. 1 => 'slug'
  12. ),
  13.  
на
  1.  
  2. 'pattern' => '/^([a-z0-9\-_]+)\/([a-zA-Z0-9\-\/]+)|.html|$/i',
  3. 'action' => 'item_view',
  4. 1 => 'ctype_name',
  5. 2 => 'slug'
  6. ),
  7.  
  8. 'pattern' => '/^([a-zA-Z0-9\-\/]+)|.html|$/i',
  9. 'action' => 'item_view',
  10. 'ctype_name' => cmsConfig::get('ctype_default'),
  11. 1 => 'slug'
  12. ),
  13.  
тогда запись будет доступна по адресу и с .html-расширением и без него.
#8 [ЕСТЬ РЕШЕНИЕ] Как добавить данные в ленту событий 6 мая 2017 в 23:25
Нико,
  1. 'date_pub' => date('Y-m-d H:i:s'),
  2. 'subject_title' => 'Заголовок_страницы_с_которой_передаешь_запрос',
  3. 'subject_id' => 'id_записи_или_пользователя_который_выполняет_запрос',
  4. 'subject_url' => 'ссылка_на_страницу_с_которой_пришел_запрос'
  5. );
#9 [ЕСТЬ РЕШЕНИЕ] Как добавить данные в ленту событий 6 мая 2017 в 21:47
В экшенах
Пользователь создал битву,
Пользователь удалили битву,
Пользователь выиграл и т.д.
добавить код
  1. cmsCore::getController('activity')->addEntry(Таблица: cms_activity_types['controller'], Таблица: cms_activity_types['name'], 'Данные передаваемые на запись в БД');
— добавить запись
  1. cmsCore::getController('activity')->addEntry(Таблица: cms_activity_types['controller'], Таблица: cms_activity_types['name'], 'Данные удаляемые из БД');
— удалить запись
и естественно в таблице cms_activity_types должны существовать записи с полями controller=>'Имя класса для контроллера Фотобитвы', name=>'Экшн внутри этого контроллера', enabled => 1
Может еще что-то
#10 [ЕСТЬ РЕШЕНИЕ] Проблема после удаления подкатегорий 6 мая 2017 в 20:59
Если до этого категории удалялись напрямую через SQL-запросы (в phpMyAdmin например), то была нарушена сортировка полей ns_left и ns_right в таблице cms_con_{content_type}_cats.
Дальше либо вручную переопределить данные полей ns_left и ns_right, либо сделать импорт БД
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.