Здравствуйте, друзья!
Так как, судя по комментариям, у многих возникли проблемы с обновлением 2.4.0, я пишу этот пост.
В нем пойдет речь об изменениях в шаблоне по сравнению с версией InstantCMS 2.3.0.
Цель этого поста в том, чтобы вы поняли подход при обновлении от версии к версии, на что нужно обращать внимание.
Важно понимать, что любое обновление CMS несет в себе исключительно улучшение функционала. И как бы мы не старались сделать обновление максимально простым, всегда будут некоторые вещи, требующие осознанного понимания перед обновлением. Если бы у всех был один и тот же шаблон, то проблем с обновлением не было бы ни у кого (некоторые любят сравнивать обновление приложений для Андроид с обновлением CMS).
В тексте будет идти речь о шаблоне default, однако, если у вас свой шаблон, то описываемые здесь изменения вам необходимо помимо дефолтного внести и в аналогичные файлы своего шаблона.
Например, ваш шаблон находится в папке /templates/my_best_template/, а я описываю изменение в файле шаблона /templates/default/assets/fields/date.tpl.php
Вы должны проверить, нет ли в вашем шаблоне этого файла (/templates/my_best_template/assets/fields/date.tpl.php), и если он есть, то либо заменить его дефолтным, либо внести в него соответствующие правки.
Важно отметить, что после окончания внесения правок вы должны обязательно очистить кеш вашего браузера и очистить содержимое папок /cache/static/css/ и /cache/static/js/.
Очистить — это значит удалить все внутри папки, при этом саму директорию не удалять.
Итак, начнем. В первую очередь важно понять, что же за изменения есть в шаблонах. Проще всего и наглядней это сделать при помощи любой программы сравнения, например winmerge.
1. Качаем полный дистрибутив предыдущей версии InstantCMS, разархивируем его в любую директорию.
2. Качаем пакет обновления InstantCMS с предыдущей на текущую версию.
3. Разрешаем в winmerge сравнение директорий.
4. Добавляем к сравнению директорию шаблона предыдущей версии и директорию шаблона из пакета обновления.
Выбираем в меню «вид» winmerge отображение различных файлов и уникальных в пакете обновления (в окне сравнения это будет или справа или слева). В итоге получаем список всех измененных и добавленных файлов.
В обновлении InstantCMS 2.4.0 этих файлов 60, из них 6 файлов добавлены. Не стоит пугаться этой цифры, все не так страшно.
Какие файлы добавлены
/templates/default/js/admin-dashboard.js
/templates/default/js/admin-chart.js
/templates/default/controllers/content/from_friends.tpl.php
/templates/default/controllers/rss/yandex_feed.tpl.php
/templates/default/controllers/search/opensearch.tpl.php
/templates/default/images/wsp.png
Если у вас cвой шаблон, то скопируйте в него файлы
/templates/default/js/admin-dashboard.js
/templates/default/js/admin-chart.js
/templates/default/images/wsp.png
/templates/default/controllers/rss/yandex_feed.tpl.php
по аналогичным путям.
Изменения в CSS
Вот список файлов css, изменных в этой версии:
/templates/default/controllers/activity/styles.css
/templates/default/controllers/admin/styles.css
/templates/default/controllers/search/styles.css
/templates/default/controllers/users/styles.css
/templates/default/css/theme-widgets.css
/templates/default/css/theme-layout.css
/templates/default/css/theme-gui.css
/templates/default/css/theme-content.css
Все правки в них носят лишь мелкие исправления небольших недочетов дефолтного шаблона: например, для фото в записях добавлена обтекаемость, где-то выровнены отступы, где то выравнен шрифт и дополнена адаптивность и так далее.
В некоторых файлах добавлены правила css:
/templates/default/controllers/admin/styles.css
/templates/default/controllers/search/styles.css
В стилях админки добавлены записи, описывающие новую главную страницу, а в стилях компонента поиск добавлен стиль, описывающий вывод изображений в результатах поиска.
Таким образом, важно понимать, что изменения в css могут нести как мелкие улучшения дефолтного шаблона, которые вовсе не обязательны для вашего шаблона, так и новые стили исходя из нового функционала очередной версии InstantCMS. Улучшения дефолтного шаблона, в случае если у вас свой шаблон, вам не нужно, а новые стили можно просто скопировать и вставить в свой файл стилей. Повторюсь, наиболее удобно визуально оценить изменения при помощи программ сравнения, например winmerge.
Изменения в javascript
Изменения в основном коснулись дополнением функционала, например html5 уведомления, улучшение функциональности и юзабилити.
Опять же, если у вас свой шаблон и перечисленные файлы ниже есть в нем по аналогичному пути, то скопируйте эти файлы:
/templates/default/js/messages.js
/templates/default/js/jquery-modal.js
/templates/default/js/core.js
/templates/default/js/admin-widgets.js
Изменения в файле схемы позиций виджетов
Единственное изменение заключается в том, что в файле scheme.html теперь можно писать php код, например так:
<?php if($this->options['aside_pos'] == 'left'){ ?> <td width="35%"> {position:right-top} {position:right-center} {position:right-bottom} </td> <?php } ?>
Таким образом, этот файл не требует принудительного обновления.
Изменения в файлах шаблонов
Множество изменений не являются принудительными и не могут повлиять на работоспособность, однако есть и файлы, которые необходимо заменить в вашем шаблоне, если таковые уже есть:
Фронтэнд:
/templates/default/assets/ui/menu.tpl.php
/templates/default/assets/ui/form.tpl.php
/templates/default/controllers/markitup/widget.tpl.php
/templates/default/controllers/recaptcha/captcha.tpl.php
/templates/default/controllers/search/index.tpl.php
/templates/default/widgets/menu/menu.tpl.php
Бекэнд (админка):
/templates/default/controllers/admin/widgets.tpl.php
/templates/default/controllers/admin/install_package_info.tpl.php
/templates/default/controllers/admin/install_ftp.tpl.php
/templates/default/controllers/admin/install_finish.tpl.php
/templates/default/controllers/admin/index.tpl.php
/templates/default/controllers/admin/ctypes_field_options.tpl.php
/templates/default/controllers/admin/controllers_edit.tpl.php
Изменения же в оставшихся файлах фатально на работоспособность не повлияют, но новый функционал, внедренный в InstantCMS 2.4.0 может работать некорректно, поэтому оставшиеся файлы желательно адаптировать в ваш шаблон.
Например, в списках типов контента добавился функционал связанный с приватностью, поэтому в шаблоны вывода добавлен функционал ее регулирования. В 2.3.0 версии вывод изображения в списке был вот такой:
<div class="photo"> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"> <?php echo html_image($item['photo'], $size, $item['title']); ?> </a> </div>
а в новой версии стал вот такой:
<div class="photo"> <?php if ($is_private) { ?> <?php echo html_image(default_images('private', $size), $size, $item['title']); ?> <?php } else { ?> <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"> <?php echo html_image($item['photo'], $size, $item['title']); ?> </a> <?php } ?> </div>
Т.е. по сути добавились проверки приватности. В который раз повторюсь, воспользуйтесь winmerge и все изменения вы увидите визуально.
На этом все. Надеюсь, что данный пост будет полезен и снимет часть вопросов при обновлении от версии к версии.
Реклама #
Алексей Т 8 лет назад #
Алексей 8 лет назад #
Андрей 8 лет назад #
Fuze 8 лет назад #
краденнымварезом мы ведь не пользуемся, верно), а для подобных задач вполне хватит winmerge.Андрей 8 лет назад #
Soul 8 лет назад #
Dost 8 лет назад #
Val 8 лет назад #
Jestik 8 лет назад #
Dost 8 лет назад #
Val 8 лет назад #
А те другие кто разобрался (я не в их числе))), буду разбираться немного позже) в принципе не обязаны всех обучать вокруг, это дело добровольное)) Вот вы себя спросите, когда во всем разберетесь хватит у вас времени и желание свои знания расписать и выложить здесь "по полочкам"? Я думаю к тому моменту у вас появятся уже новые цели и задачи, на которые вы будете тратить свои силы.
Dost 8 лет назад #
Jestik 8 лет назад #
My-InstantCMS.Ru 8 лет назад #
Настройки для WinMerge, если хотите более удобный вид, т.е. показывает по папкам и если изменение нет, то выводить зеленую иконку.
По умолчанию выводить все файлов, сам не помню как упорядочил по папкам, по этому экспортировал настройки...
Скачайте и импортируйте.
globator 8 лет назад #
Alexprofi 8 лет назад #
После обновления (еще до 2.2.0) на стороннем шаблоне появилась такая проблема: при попытке добавления записи в некоторых типах контента (не во всех), появляется такая ошибка.
Alexprofi 8 лет назад #