
Nikolay
30.09.2016
09:52:10
или готовятся на низком старте к концу рабочего дня)
Хотя радости никакой, в Питере поливает как из ведра=(

Maxim
30.09.2016
09:52:27
в кениге все спокойно.
все жарятся

svetlana
30.09.2016
09:52:43
ничё, и вам прибудет ))

Google

Maxim
30.09.2016
09:53:01
от нас убывает ) в том то и прикол )))
мы уже отмерзли )
«Любопытно, я использовал Mac чтобы разработать следующую версию суперкомпьютера, а Apple недавно купила мой суперкомпьютер, чтобы разработать следующий Mac».
Сеймур Крэй, отец «суперкомпьютеров», создатель индустрии суперкомпьютеров, инженер-электронщик и математик.

Nikolay
30.09.2016
10:26:58
Скажите пожалуйста, я же не смогу удалить пользователя, если у него есть заказы ?:) p.s. именно интересует защита от удаления ")

Maxim
30.09.2016
10:27:11
ноу

Mv
30.09.2016
11:02:19
Пользователя можно удалить только в чокопаем :)

Maxim
30.09.2016
11:02:24
Ребят, туплю что-то.
у меня есть общий класс (А) и от него наследуются. (А1, А2)
в А есть метод
public static function OnModuleSurvey()
{
if (!self::getActionEnabled())
return new EventResult(EventResult::UNDEFINED);
return new EventResult(EventResult::SUCCESS, array(), self::getModuleId(), __CLASS__);
}
но беда, getActionEnabled есть только в А1 и А2
можно ли как то унаследоваться так, чтобы этот метод брал инфу из дочернего все же )))
чувствую, как спрашиваю ересь

Алексей
30.09.2016
11:03:02
Позднее статическое связываание?

Maxim
30.09.2016
11:03:12
типа

Алексей
30.09.2016
11:03:37
а почему типа? чем оно самое не подходит для вас?)

Maxim
30.09.2016
11:03:44
через селф и через статик не работает

Google

Maxim
30.09.2016
11:04:12
ща почитаю про Позднее статическое связываание

Алексей
30.09.2016
11:04:42
"но беда, getActionEnabled есть только в А1 и А2"
Как на счет добавить его и в родительский класс в виде абстрактного метода?

Maxim
30.09.2016
11:04:59
а потом типа переопределяется?
с абстрактными и с интерфейсами увы первый месяц знаком. (10 лет опыта, да), а начал использовать вот только ща.

Алексей
30.09.2016
11:06:14
Я думаю ,если сформулируете задачу более полно - будет проще подсказать, что именно в данном случае нужно применить

Maxim
30.09.2016
11:06:57
Я думаю про абстрактный метод вы правы на 100%

Pavel
30.09.2016
11:10:37
тогда и класс будет абстрактным
сделайте заглушку в родительском, которая всегда возвращает true или false, в зависимости от того что нужно

Maxim
30.09.2016
11:13:22
НО остается последний момент ))))
__CLASS__ как имя чилда получить тогда? еще один метод переопределять? как то сумбурно получается

Pavel
30.09.2016
11:13:57
get_class()

Maxim
30.09.2016
11:14:56
/**
* @return bool
*/
public static function getActionEnabled()
{
return false;
}
/**
* @return EventResult
*/
public static function OnModuleSurvey()
{
if (!static::getActionEnabled())
return new EventResult(EventResult::UNDEFINED);
return new EventResult(EventResult::SUCCESS, array(), self::getModuleId(), get_class());
}
get_class() возвращает родителя, а не чилда

Pavel
30.09.2016
11:15:39
get_class(self)? get_class(new static)?
f gjujlbnt
погодите
вы в родителе хотите узнать чилда?

Maxim
30.09.2016
11:16:35
lf
да
get_class(new static) сработало
но как то мое решение попахивает. надо подумать посидеть.

Google

Pavel
30.09.2016
11:17:15
через фабрику делайте

Алексей
30.09.2016
11:18:06
Было бы здорово увдеть задачу целиком. Можно было бы подумать над методом без "костылизации" )

Maxim
30.09.2016
11:23:00
модуль кидает событие "Собирайся народ, кто дружить идет". другие модули отвечают, мол я готов с тобой дружить. И хочется сделать, чтобы можно было не заставлять разработчика модуля описывать какой класс ответил, а автоматом дать о себе знать.
return new EventResult(EventResult::SUCCESS, array(), self::getModuleId(), get_class());
EventResult позволяет передавать о себе данные через 2 И 4 параметры.
я бы мог этот код вынести в чайлды. но это получается какое то дублирование кода. вынес в родителя, но чую какой то запах реализации
событие вешается на чайлда. было желание вынести в общий родительский класс метод ответа

Pavel
30.09.2016
11:26:00
https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B1%D0%BB%D1%8E%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
не оно?

Andrew
30.09.2016
11:26:09
может сюда https://ru.wikipedia.org/wiki/Наблюдатель_(шаблон_проектирования)
=)))

Maxim
30.09.2016
11:26:22
))))
это все прекрасно. но я в ядре битрикса. а реализация событийной модели... скажем так, у меня не получается в голове наложить на нее этот шаблон.

Pavel
30.09.2016
11:29:30
так он там и так вроде как есть, нет?

Andrew
30.09.2016
11:29:30
а зачем вы к битриксу привязываетесь? Ради чего?

Алексей
30.09.2016
11:29:55
Мтеод ответа у всех наследников одинаков?
Почему бы тогда в трейт не вынести, вообще

Maxim
30.09.2016
11:30:13

Pavel
30.09.2016
11:30:52
Ваш Observer это EventManager вы в своих модулях подписываетесь на события, а где то в других их рассылаете

Maxim
30.09.2016
11:30:54

Pavel
30.09.2016
11:31:17

Maxim
30.09.2016
11:31:42
битриксовый обсервер знает только
[1] => Bitrix\Main\EventResult Object
(
[moduleId:protected] => tasks
[handler:protected] => Bitrix\Tasks\Integration\****\Task
[type:protected] => 1
[parameters:protected] => Array
(
)
)
т.е. если я не передам ему имя моего класса, я никак не узнаю кто ответил. бред какой то

Pavel
30.09.2016
11:32:57
а зачем вам знать кто ответил? А тот кто уже подписан узнать можно

Google

Maxim
30.09.2016
11:33:34
в какой то момент времени мой модуль опрашивает другие. они и должны ответить. на онове ответа формируется страница
Мне кажется я слегка осознал свою тупость.
почему-то проигнорировал GetModuleEvents
там как раз вся та информация, что мне нужна

Pavel
30.09.2016
11:43:53
Да но в вашем случае непонятно зачем вам событийная модель

Maxim
30.09.2016
11:47:03
Отвязка от других модулей
модуль обрабатывает данные модулей, но не знает о них ничего.
модули так же. отдают на обработку и хранение данные, но ничего не знают что с этими данными будет делать модуль.
https://www.youtube.com/watch?v=NVvdO6B9G1k&feature=youtu.be
function GetModuleID($str)
{
$arr = explode("/",$str);
$i = array_search("modules",$arr);
return $arr[$i+1];
}

Admin
ERROR: S client not available

Maxim
30.09.2016
13:21:31
bitrix/modules/main/classes/general/module.php:515
:D

Pavel
30.09.2016
13:26:36
за то универсально :)
А как вы обычно на битриксе делаете всякие мегаменю, где разные категории с подкатегориями + картинки в разных вкладках? Есть юзеркейс? :)
а еще интересно то, что нету пункта "Элементы" это баг или фича? https://yadi.sk/i/bQ8JSVwpvwopU

Maxim
30.09.2016
14:07:20
фича
настраивается в инфоблоке или в настройках продукта

Pavel
30.09.2016
14:08:40
а где такая настройка?

Dmitry
30.09.2016
14:09:16

Maxim
30.09.2016
14:23:55

Google

Pavel
30.09.2016
14:24:09
да спасибо, разобрался

Maxim
30.09.2016
14:57:07
и многие проблемы исчезли
https://pp.vk.me/c836633/v836633464/3471/x6NeRN7hQ_s.jpg

svetlana
30.09.2016
15:28:01
Макс пытается отвлечь работающий народ... но даже пятница не помогает

Maxim
30.09.2016
15:29:47
да походу с утра уже никто не пришел на работу

svetlana
30.09.2016
15:32:41
https://pp.vk.me/c323318/v323318753/67c/mr_jStsegBI.jpg
мне кажется просто уже все вымерли

Maxim
30.09.2016
15:42:10
Ща по пути домой куплю пиццу, грушевый сидр и тоже с ноутом и сериалом вымру на 2 суток

Sergey
30.09.2016
15:43:58
readonly mode

svetlana
30.09.2016
15:45:02
ну почему, по сетевому обращению я думаю он может и в режим write перейти

Dmitry
30.09.2016
16:59:36
После сидра - грех в write не перейти с хорошей компанией))

Maxim
30.09.2016
17:10:04
Да будет связь

Pavel
30.09.2016
17:39:39
А вы что по выходным не шабашите?

Dmitry
30.09.2016
18:14:14
Что значи шабашите? Мы вJOBываем

Tema
01.10.2016
03:48:14
каким образом работает дефолтное кэширование компонентов? весь код заключен в if($this->StartResultCache(360000)), но отладчик показывает что запросы все равно выполняются

Юрий
01.10.2016
04:30:34
http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3485&LESSON_PATH=3913.4619.3485

Pavel
01.10.2016
10:51:16
Ребят, подскажите, структура каталога в 1С должна быть такая же как и планируемая структура каталога на сайте?

Vite4eg
01.10.2016
10:54:13
Не обязательно
Там (в 1С) есть инструмент для определения чего и куда полетит. Если конечно модулем пользоваться

Pavel
01.10.2016
10:56:18

Pavel
01.10.2016
10:56:38
а ссылочку можно?