Создание своей темы в moodle 3.5

Создание своей темы в moodle 3.5

от Евгений Батулин -
Количество ответов: 9

Здравствуйте! Подскажите пожалуйста каким образом создавать свою тему в moodle версии 3.5. Наткнулся на данную страницу https://docs.moodle.org/dev/Themes и очень обрадовался. Но как начал создавать тему на основе темы boost

https://docs.moodle.org/dev/Creating_a_theme_based_on_boost

столкнулся с проблемой - появилась ошибка

Исключение - syntax error, unexpected 'defined' (T_STRING)

Debug info:
Error code: generalexceptionmessage
Stack trace:
  • line 5 of /theme/photo/version.php: ParseError thrown
  • line 7944 of /lib/moodlelib.php: call to core_component::get_all_versions_hash()
  • line 60 of /index.php: call to moodle_needs_upgrading()
Предполагаю, что это связано с версией. Если есть решение подскажите пожалуйста. Спасибо


В ответ на Евгений Батулин

Re: Создание своей темы в moodle 3.5

от Vadim Tabunshchik -
Изображение пользователя Developers

Предлагаете нам угадать, что там в строке 5 файла /theme/photo/version.php?

Тут нет Кашпировских, выкладывайте исходники своей темы.

В ответ на Vadim Tabunshchik

Re: Создание своей темы в moodle 3.5

от Евгений Батулин -

Прошу прощения.

<?php
// Every file should have GPL and copyright in the header - we skip it in tutorials but you should not skip it for real.
 
// This line protects the file from being accessed by a URL directly.                                                               
defined('MOODLE_INTERNAL') || die();                                                                                                
 
// This is the version of the plugin.                                                                                               
$plugin->version = '2016102100';                                                                                                    
 
// This is the version of Moodle this plugin requires.                                                                              
$plugin->requires = '2016070700';                                                                                                   
 
// This is the component name of the plugin - it always starts with 'theme_'                                                        
// for themes and should be the same as the name of the folder.                                                                     
$plugin->component = 'theme_photo';                                                                                                 
 
// This is a list of plugins, this plugin depends on (and their versions).                                                          
$plugin->dependencies = [                                                                                                           
    'theme_boost' => '2016102100'                                                                                                   
];

В ответ на Vadim Tabunshchik

Re: Создание своей темы в moodle 3.5

от Евгений Батулин -
В ответ на Евгений Батулин

Re: Создание своей темы в moodle 3.5

от Vadim Tabunshchik -
Изображение пользователя Developers

Если это точно строка из вашего version.php, то я ошибки не вижу.

Но, Исключение - syntax error, unexpected 'defined' (T_STRING) - это ошибка синтаксиса РНР: где-то нет точки с запятой, нет скобки, лишняя скобка и т. п.

Не копируйте код из браузера.

Возьмите за образец какую-нибудь готовую тему, разберитесь в ней и на её основе создайте свою. Писать заново будете долго и мучительно учиться улыбаюсь

В ответ на Vadim Tabunshchik

Re: Создание своей темы в moodle 3.5

от Евгений Батулин -

Вадим спасибо за ответ. Посоветуйте какую (основанную на boost) лучше изучать. Да, и если я возьму и изменю эту тему, ее можно будет использовать под тем же именем или лучше поменять имя? Спасибо.

В ответ на Евгений Батулин

Re: Создание своей темы в moodle 3.5

от Vadim Tabunshchik -
Изображение пользователя Developers
Посоветуйте какую (основанную на boost) лучше изучать

Изучать можно любую, они все, так или иначе, основаны на boost (или bootstrapbase). Выбирать нужно ту, которая вам подходит по раскладке, стилям и т. п., чтобы вносить в код темы как можно меньше изменений. Поищите тему тут: https://moodle.org/plugins/browse.php?list=category&id=3

И вот с этим ознакомьтесь: https://docs.moodle.org/dev/Roadmap#Moodle_3.7:_development_in_progress

ее можно будет использовать под тем же именем или лучше поменять имя?

Имя плагина (любого) должно быть уникальным, вас система по любому заставит его менять, иначе будут конфликты.

В ответ на Vadim Tabunshchik

Re: Создание своей темы в moodle 3.5

от Евгений Батулин -

Добрый день Вадим! Мне сложно разобраться в готовой теме. И я хочу пройти этап создания темы чтобы понять как устроена готовая тема. Я скопировал из темы snap файлы config.php, lib.php, version.php, /lang/en/theme_snap.php и удалил оттуда все, о чем в уроке ( https://docs.moodle.org/dev/Creating_a_theme_based_on_boost ) еще не говорилось и добавил то, чего не было, исправив имя темы на свою и тема появилась.

У меня вопрос - если я продолжу по этому уроку, тему, которую я сделаю по нему рационально будет использовать? Спасибо.

В ответ на Евгений Батулин

Re: Создание своей темы в moodle 3.5

от Vadim Tabunshchik -
Изображение пользователя Developers

Честно говоря, с трудом представляю, как можно писать что-то с нуля, не разобравшись в уже готовом.

Одним уроком вы не обойдетесь, там нет всей нужной информации. Вы вот это меню видели?

И, если уж собрались писать свое/новое, изучайте темы для версии 3.7, потому что будет переход на Bootstrap 4