Instant CMS 2 - проблемы

Помощь в решении проблем, возникающих при работе CMS

#796 24 июня 2015 в 20:51
Только создаю сайт на второй ветке, возникла проблема, не вставляются картинки, при попытке вставить картинку пустота, а в коде:
  1. <p>
  2. <img>
  3. </p>
#797 24 июня 2015 в 21:04

Как вывести виджет в выводе шаблонного файла

tulik
надеюсь я Вас правильно понял.
чтобы создать позицию в шаблоне нужно ее создать в scheme.html и main.tpl.php
например <?php $this->widgets('моя позиция'); ?> в main.tpl.php
и <td>{position: моя позиция}</td> в scheme.html
ну и соответственно стили прописать.
как привязывать виджеты к конкретной странице доступно описано в документации.
#798 24 июня 2015 в 21:56


Как вывести виджет в выводе шаблонного файла

tulik
надеюсь я Вас правильно понял.
чтобы создать позицию в шаблоне нужно ее создать в scheme.html и main.tpl.php
например в main.tpl.php
и {position: моя позиция} в scheme.html
ну и соответственно стили прописать.
как привязывать виджеты к конкретной странице доступно описано в документации.

Soul

Не совсем вы меня поняли(

Смотрите, например в версиях 1.10.х можно вывести модуль в tpl файлах — например в выводе статьи между дескрипшином и тегами. функцией кажется cmsModule()

А в этой версии как вывести виджет в другом tpl файле кроме main.tpl.php
#799 25 июня 2015 в 07:19


BezB, а вы в конфиге изменили адрес сайта и адрес папка upload?
tulik, тогда лучше добавить свою позицию в main.tpl.php а не в profile_header.tpl.php

Evanescence
У меня он перестал работать, когда я убрал демо контент, и поставил свой.

Все, решил проблему. Дело было в настройках типа контента, которые почему-то нигде не описаны для слайдера.
#800 12 июля 2015 в 17:03
Следует ли ожидать какой то патч в ближайшее время? с момента последнего релиза в данной теме появилось несколько существенных недочетов.
#801 21 июля 2015 в 11:27
У меня все же остается вопрос по загрузке изображений.
В общем, в настройках установлены пресеты, Большой: 1000х1000. Но когда при создании контента подгружаю "Набор изображений", то в итоге в статье в этой галерее они показываются шириной 995px. Откуда берется это 995 вместо 1000? Как это убрать?
#802 21 июля 2015 в 11:50
alkokrolik, берётся из за процентного подгона
и если не ошибаюсь не ширина, а высота
#803 5 августа 2015 в 15:46

Замеченные проблемы InstantCMS 2.2.1 и их исправления

Скорее всего, что-то из этого можно было решить более элегантно и оптимально. Но, в любом случае, информация не лишняя. scratch

1. Рекурсивный include() в loadRoutes() и Fatal error вместо 404 ошибки. Проявляется если выбран тип контента по умолчанию (будет исправлено в новой версии)


system/core/controller.php

Было:
  1. public function loadRoutes(){
  2.  
  3. $file = $this->root_path . 'routes.php';
  4.  
  5. if (!file_exists($file)){ return array(); }
  6.  
  7. include($file);
  8.  
  9. $routes_func = 'routes_' . $this->name;
  10.  
  11. $routes = call_user_func($routes_func);
  12.  
  13. if (!is_array($routes)) { return array(); }
  14.  
  15. return $routes;
  16.  
  17. }
Стало:
  1. public function loadRoutes(){
  2.  
  3. $file = $this->root_path . 'routes.php';
  4.  
  5. if (!file_exists($file)){ return array(); }
  6.  
  7. include_once($file);
  8.  
  9. $routes_func = 'routes_' . $this->name;
  10.  
  11. $routes = call_user_func($routes_func);
  12.  
  13. if (!is_array($routes)) { return array(); }
  14.  
  15. return $routes;
  16.  
  17. }

2. Если включено кэширование, сразу после публикации, первый комментарий к контенту получает target_url вида target_subject/.html (dat-файл публикации сохраняется с пустым slug, но после обновления кэша значение slug появляется в файле)


systems/controllers/content/model.php

Было:
  1. public function addContentItem($ctype, $item, $fields){
  2.  
  3. // ...
  4.  
  5. cmsCache::getInstance()->clean("content.list.{$ctype['name']}");
  6.  
  7. return $item;
  8.  
  9. }
Стало:
  1. public function addContentItem($ctype, $item, $fields){
  2.  
  3. // ...
  4.  
  5. cmsCache::getInstance()->clean("content.list.{$ctype['name']}");
  6. cmsCache::getInstance()->clean("content.item.{$ctype['name']}");
  7.  
  8. return $item;
  9.  
  10. }

3. Уведомления об ответах на комментарии приходят даже если опция выключена в настройках


system/controllers/comments/actions/submit.php

Было:
  1. // Уведомляем об ответе на комментарий
  2. if ($parent_comment){ $this->notifyParent($comment, $parent_comment); }
Стало:
  1. // Уведомляем об ответе на комментарий
  2. if ($parent_comment){
  3. $this->model->filterEqual('id',$parent_comment['user_id']);
  4. $parent_user_notify_options = $this->model->getFieldFiltered('users','notify_options');
  5. $parent_user_notify_options = cmsModel::yamlToArray($parent_user_notify_options);
  6. if(!isset($parent_user_notify_options['comments_reply']) || !empty($parent_user_notify_options['comments_reply'])) {
  7. $this->notifyParent($comment, $parent_comment);
  8. }
  9. }

4. Уведомления о новых сообщениях на стене приходят даже если опция выключена в настройках


system/controllers/wall/actions/submit.php

Было:
  1. // Уведомляем владельца профиля
  2. if ($controller_name == 'users' && $profile_type == 'user'){
  3. $this->notifyProfileOwner($profile_id, $entry);
  4. }
Стало:
  1. // Уведомляем владельца профиля
  2. if ($controller_name == 'users' && $profile_type == 'user'){
  3. $this->model->filterEqual('id',$profile_id);
  4. $profile_owner_notify_options = $this->model->getFieldFiltered('users','notify_options');
  5. $profile_owner_notify_options = cmsModel::yamlToArray($profile_owner_notify_options);
  6. if(!isset($profile_owner_notify_options['users_wall_write']) || !empty($profile_owner_notify_options['users_wall_write'])) {
  7. $this->notifyProfileOwner($profile_id, $entry);
  8. }
  9. }

5. В sitemap.xml попадают неопубликованные материалы


system/controllers/content/hooks/sitemap_urls.php

Было:
  1. $items = $this->model->
  2. filterNotEqual('is_private', 1)->
  3. filterNotEqual('is_approved', 0)->
  4. limit(false)->
  5. getContentItems($ctype_name);
Стало:
  1. $items = $this->model->
  2. filterNotEqual('is_private', 1)->
  3. filterNotEqual('is_approved', 0)->
  4. filterNotEqual('is_pub', 0)->
  5. limit(false)->
  6. getContentItems($ctype_name);

6. Типограф не работает в краткой версии материала


system/fields/html.php

Было:
  1. public function parseTeaser($value) {
  2.  
  3. $max_len = $this->getOption('teaser_len');
  4.  
  5. if ($max_len){
  6.  
  7. $url = href_to($this->item['ctype']['name'], $this->item['slug'] . ".html");
  8.  
  9. $value = string_short($value, $max_len);
  10. $value .= '<a class="read-more" href="'.$url.'">'.LANG_MORE.'</a>';
  11.  
  12. }
  13.  
  14. return $value;
  15.  
  16. }
Стало:
  1. public function parseTeaser($value) {
  2.  
  3. $max_len = $this->getOption('teaser_len');
  4.  
  5. if ($max_len){
  6.  
  7. $url = href_to($this->item['ctype']['name'], $this->item['slug'] . ".html");
  8.  
  9. $value = cmsEventsManager::hook('html_filter', array('text'=>string_short($value, $max_len), 'is_auto_br'=>true));
  10. $value .= '<a class="read-more" href="'.$url.'">'.LANG_MORE.'</a>';
  11.  
  12. }
  13.  
  14. return $value;
  15.  
  16. }

7. Опечатка в шаблоне списка комментариев


templates/default/controllers/comments/list.tpl.php

Было:
  1. <?php if ($is_highlight_new){ ?>icms.commments.showFirstSelected();<?php } ?>
Стало:
  1. <?php if ($is_highlight_new){ ?>icms.comments.showFirstSelected();<?php } ?>

8. На странице закрытой группы картинка аватара выводится даже если его нет


templates/default/controllers/groups/group_closed.tpl.php

Было:
  1. <div id="left_column" class="column">
  2.  
  3. <div id="logo" class="block">
  4. <?php echo html_image($group['logo'], 'normal'); ?>
  5. </div>
  6.  
  7. </div>
Стало:
  1. <div id="left_column" class="column">
  2.  
  3. <?php if($group['logo']) { ?>
  4. <div id="logo" class="block">
  5. <?php echo html_image($group['logo'], 'normal'); ?>
  6. </div>
  7. <?php } ?>
  8.  
  9. </div>

9. Удаление комментария с открытой формой ответа/редактирования удаляет форму вместе с комментарием (нельзя добавить новый комментарий после удаления)


templates/default/js/comments.js

Было:
  1. this.remove = function (id){
  2. var c = $('#comments_list #comment_'+id);
  3.  
  4. var username = $('.name .user', c).html();
  5.  
  6. if (!confirm(LANG_COMMENT_DELETE_CONFIRM.replace('%s', username))){return false;}
  7.  
  8. var url = $('#comments_urls')
#804 5 августа 2015 в 20:12
Не знаю, так задумано или нет. Если в типах контента, например, в статьях выключить рейтинг, отключить количество комментариев, просмотров, убрать автора — вместе с ними пропадает и блок "Поделиться" от Яндекса. Он то как раз-таки мне и нужен, но он исчезает ((
#805 6 августа 2015 в 11:46
Это не баг, правится в шаблоне
#806 11 августа 2015 в 16:45
Пытаюсь произвести установку дополнения. На этапе после ввода реквизитов FTP, после нажатия на кнопку Продолжить — белый экран.
процедуру путь указывался согласно инструкции — docs.instantcms.ru/manual/addons/ftppath
#808 11 августа 2015 в 21:09


белый экран

mikhail
instantcms.ru/blogs/InstantSoft/taina-belogo-yekrana.html

Fuze

Включение режима откладки не выводит ошибку.
Тех. поддержка хостинга вот что ответила по поводу логов —

PHP не логируется по умолчанию в файл, но отображает ошибки непосредственно на странице сайта.

php_flag display_errors on — не выдал ошибок
#809 15 августа 2015 в 17:09
А можно узнать, почему у пользователей нет возможности редактировать свой email? Может вызвать какие-то нежелательные последствия или просто не реализовано на данный момент (подтверждение в письме и т.п.)?
#810 16 августа 2015 в 15:12
Заметил такой косячок. Если создать новый материал в любом типе контента с максимальным количеством символов в загаловке (100), то из ленты активности данный материал открываться не будет. А также при нажатии на сохранить материал, перекидывает на 404.
Это происходит из-за того, что в slug созданного материала заносится адрес с количеством символов не более 100 (ограничение в БД).
А при первой переадресации на вновь созданный материал, открывается материал с полным УРЛ, более 100 символов. Отсюда 404.
Также и в ленте активности, ссылка на созданный материал идет с полным slug, а материал соответсвенно имеет укороченный. В БД таблица activity имеет поле url_object с ограничением в 250 символов. Отсюда снова 404

Происходит это из-за того, что некоторые русские символы при переводе в транслит, обозначаются двумя символами. Отсюда и увеличение символов в урл
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.