[Модуль] Мои блоки (myblocks)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

[Модуль] Мои блоки (myblocks)

Сообщение Divan » Пт авг 30, 2019 3:26 pm

Модуль "Мои блоки" это визуальный код для начинающих, этот модуль очень сильно помогает собрать нужный нам код. Во вложении есть инструкция, можете разобраться как это все работает.

При использовании данного модуля я обнаружил одну не удобность, это отсутствие самой темы про данный модуль "Мои блоки" и отсутствие в самом модуле отображение категории в виде дерева, сейчас категории отображаются в виде списка, было бы здорово, если это бы исправили.
Вложения
Что такое мои блоки_myblocks и как ими пользоваться.pdf
(444.87 КБ) 207 скачиваний
Безымянный.jpg
Безымянный.jpg (68.25 КБ) 5468 просмотров
Безымянный2.jpg
Безымянный2.jpg (174.67 КБ) 5468 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] Мои блоки

Сообщение directman66 » Пт авг 30, 2019 3:48 pm

Можете тут расписать содержимое pdf файла?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Пт авг 30, 2019 6:57 pm

Что такое мои блоки/myblocks и как ими пользоваться?

myblocks - это визуальный код в виде блоков. Зачем он нужен? Он нужен, чтобы облегчить людям в написании кода, которые не знают как писать код, также это позволяет не засорять сценарии сценариями, лучше создавать множество блоков, чем создавать множество сценарии.

Мои блоки находятся в разделе “Настройки”

1) Создаем метод для устройства
2) В “Мои блоки” создаем категорию, эта категория будет отражаться в списке Blockly
3) Создаем блок, указываем имя блока, указываем в какой категории будет находиться блок, выбираем тип блока: сценарии, метод, метод + параметры, свойство. Я выбрал метод, он работает. Свойство не работает.
4) При создании сценария, выбираем код "Blockly"
5) В списке "Blockly" появится созданная вами категория и блок
6) На этом все, дальше вы можете собирать блоки по своему усмотрению
Вложения
1 - Общий вид Мои блоки.jpg
1 - Общий вид Мои блоки.jpg (100.72 КБ) 5439 просмотров
2 - Описание Blockly.jpg
2 - Описание Blockly.jpg (143.19 КБ) 5439 просмотров
3 - Создаем метод.jpg
3 - Создаем метод.jpg (133.4 КБ) 5439 просмотров
4 - Создаем метод.jpg
4 - Создаем метод.jpg (85.25 КБ) 5439 просмотров
5 - Категории.jpg
5 - Категории.jpg (67.61 КБ) 5439 просмотров
6 - Добавляем блок.jpg
6 - Добавляем блок.jpg (84.58 КБ) 5439 просмотров
7 - Создаем блок.JPG
7 - Создаем блок.JPG (63.58 КБ) 5439 просмотров
8 - Варианты сценарии.jpg
8 - Варианты сценарии.jpg (96.74 КБ) 5439 просмотров
9 - Варианты сценарии визуально.jpg
9 - Варианты сценарии визуально.jpg (80.53 КБ) 5439 просмотров
10 - myblockly в сценариях.jpg
10 - myblockly в сценариях.jpg (93.83 КБ) 5439 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Сб авг 31, 2019 3:27 pm

Как правиильно в объектах создать свойства дней недели, понедельник, вторник, среда, четверг, пятница, суббота, воскресенье? В blockly я это добавил, но как заставить эти свойства работать? На скриншоте я показал пример, как хотелось бы.
Вложения
Безымянный2.jpg
Безымянный2.jpg (100.86 КБ) 5395 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: [Модуль] Мои блоки (myblocks)

Сообщение Chainik » Сб авг 31, 2019 5:23 pm

del
Последний раз редактировалось Chainik Сб авг 31, 2019 6:05 pm, всего редактировалось 1 раз.
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Сб авг 31, 2019 5:28 pm

Chainik писал(а):
Сб авг 31, 2019 5:23 pm
Да просто взять и написать кодом (не мучаясь с блокли):

Код: Выделить всё

$day_num=(int)date('w');
if ($day_num != "4" && timeBetween('22:00', '00:00')) {
//ВЫПОЛНЯЕМ ДЕЙСТВИЕ
}
Что означают эти коды?
1) date('w')
2) "4"
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Сб авг 31, 2019 9:30 pm

Разобрался, у меня получилось то, что я хотел. Выкладываю пошаговую инструкцию. Таким образом через блоки можно будет закрепить любой сценарий за конкретный день недели. Настройки в "CRON" и "Мои блоки" создаются 1 раз, потом больше это делать не нужно, дальше можно просто собирать сценарии с помощью готовых блоков "Дни недели".

1) Создаем под объект Day в главном объекте Timer
2) Создаем в объекте Day свойства: Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье
3) Если нет модуля CRON, то устанавливаем его и создаем там записи с днями неделями: Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье. В записях дней недели мы прописываем код, который при запуске CRON в заданное время, меняется значение в свойствах Day. Если стоит значение 0, значит сценарии не сработает, а если стоит 1, то сценарии сработает.
Пояснение по Crontab
0 0 * * 1 - это означает, что цикл запустится в Понедельник в 00:00 (цикл запустится в 00:00, поменяется значение в свойстве Воскресенье с 1 на 0 и установит значение в Понедельник с 0 на 1)
0 0 * * 2 - это означает, что цикл запустится во Вторник в 00:00
0 0 * * 3 - это означает, что цикл запустится в Среду в 00:00
0 0 * * 4 - это означает, что цикл запустится в Четверг в 00:00
0 0 * * 5 - это означает, что цикл запустится в Пятницу в 00:00
0 0 * * 6 - это означает, что цикл запустится в Субботу в 00:00
0 0 * * 0 - это означает, что цикл запустится в Воскресенье в 00:00

4) В "Мои блоки" создаем блоки с днями недели и категорию "Календарь"
5) В настройках блока выбираем "Свойство", выбираем связанный объект "Day" и свойство день недели

Готово, теперь можно в моих блоках собирать код в блоках, который позволит собрать, нужный вам сценарии.
Вложения
01 - Создание объекта Day.jpg
Создание объекта Day
01 - Создание объекта Day.jpg (69.89 КБ) 5359 просмотров
02 - Объекты свойства.jpg
Создание свойств в объекте Day
02 - Объекты свойства.jpg (123.17 КБ) 5359 просмотров
03 - CRON синтаксис.jpg
CRON инструкция
03 - CRON синтаксис.jpg (99.39 КБ) 5359 просмотров
04 - Общий вид CRON.JPG
Общий вид настройки в CRON
04 - Общий вид CRON.JPG (68.39 КБ) 5359 просмотров
05 - CRON Понедельник.jpg
CRON Понедельник
05 - CRON Понедельник.jpg (60.02 КБ) 5359 просмотров
06 - CRON Вторник.jpg
CRON Вторник
06 - CRON Вторник.jpg (56.94 КБ) 5359 просмотров
07 - CRON Среда.jpg
CRON Среда
07 - CRON Среда.jpg (57.96 КБ) 5359 просмотров
08 - CRON Воскресенье.jpg
CRON Воскресенье
08 - CRON Воскресенье.jpg (60.96 КБ) 5359 просмотров
09 - Мои блоки - дни недели.jpg
Мои блоки - дни недели
09 - Мои блоки - дни недели.jpg (81.21 КБ) 5359 просмотров
10 - Мой блок - понедельник.JPG
Мой блок - понедельник
10 - Мой блок - понедельник.JPG (33.32 КБ) 5359 просмотров
11 - Мой блок - вторник.JPG
Мой блок - вторник
11 - Мой блок - вторник.JPG (33.62 КБ) 5359 просмотров
12 - Пример графического кода.jpg
Пример графического кода
12 - Пример графического кода.jpg (223.97 КБ) 5359 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение xor » Вс сен 01, 2019 10:21 pm

Divan писал(а):
Сб авг 31, 2019 5:28 pm
Chainik писал(а):
Сб авг 31, 2019 5:23 pm
Да просто взять и написать кодом (не мучаясь с блокли):

Код: Выделить всё

$day_num=(int)date('w');
if ($day_num != "4" && timeBetween('22:00', '00:00')) {
//ВЫПОЛНЯЕМ ДЕЙСТВИЕ
}
Что означают эти коды?
1) date('w')
2) "4"
если вы не узнаете, что такое date('w'), боюсь, вам придется для дней месяцев, месяцев, сезонов и тд то же самое делать(
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение Divan » Вс сен 01, 2019 11:26 pm

Если вы хорошо разбираетесь в коде и не поленитесь выложить несколько вариантов рабочих кодов (по дням, неделям, месяцам) в ветке [Модуль] Simple Calendar (app_calendar) и здесь, в виде блоков, например создать блоки в виде дней, месяцев, сезонов, то вам будут благодарны. Участник "Chainik" реально помог (за это ему огромное спасибо), он выложил рабочий код. Модуль "Мои блоки" пусть ограничен в коде, но он очень удобный и он реально помогает новичкам, и для тех, кто не знает код php, программистам и людям хорошо знающим код PHP, это конечно не интересно.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: [Модуль] Мои блоки (myblocks)

Сообщение xor » Пн сен 02, 2019 12:41 am

Divan писал(а):
Вс сен 01, 2019 11:26 pm
Если вы хорошо разбираетесь в коде и не поленитесь выложить несколько вариантов рабочих кодов (по дням, неделям, месяцам) в ветке [Модуль] Simple Calendar (app_calendar) и здесь, в виде блоков, например создать блоки в виде дней, месяцев, сезонов, то вам будут благодарны. Участник "Chainik" реально помог (за это ему огромное спасибо), он выложил рабочий код. Модуль "Мои блоки" пусть ограничен в коде, но он очень удобный и он реально помогает новичкам, и для тех, кто не знает код php, программистам и людям хорошо знающим код PHP, это конечно не интересно.
модуль календарь сам позволяет без блокли и без кода создавать повторяющиеся события, какие примеры? Для тех периодов, которых нет в модуле я пользуюсь кроном.
Ответить