Користувальницькькі налаштування

Налаштування сайту


adcomments

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
adcomments [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
adcomments [2023/05/19 16:04] (поточний)
nightfly
Рядок 1: Рядок 1:
-====== Дополнительные примечания ====== +====== Додаткові примітки ====== 
-В Ubilling начиная со стабильного релиза 0.6.1 появилась возможность использовать в модулях общую реализацию дополнительных комментариев.\\ + 
-С точки зрения юзабилитиэто по должно выглядеть как... грубо форум с разделами, являющимися по своей сути представлениями сущностей биллингаи топиками привязанными к конкретным объектам в рамках этих сущностей.\\  +В Ubilling починаючи зі стабільного релізу 0.6.1 з'явилась можливість використовувати у модулях загальну реалізацію додаткових коментарів.\\ 
-С точки зрения интеграции в какой-то абстрактный модуль, работающий с какими-то абстрактными объектами, все максимально просто:+З точки зору юзабілітіце має виглядати як... грубо форум з розділами, що є по своїй суті представленнями сутностей білінгуі топіками прив'язаними до конкретних обктів у рамках цих сутностей.\\  
 +З точки зору інтеграції в якийсь абстрактний модуль, який працює з якимись абстрактними обктами, все дуже просто:
  
 <code php> <code php>
- //Возможно кому-то не хочется использовать всю эту радость, +  //Можливо комусь не хочеться використати всю цю радість, 
- //поэтому включена ли соответствующая опция в конфиге alter.ini+  //Тому перевіряємо чи включена відповідна опція в конфізі alter.ini
         $altCfg=$ubillingConfig->getAlter();         $altCfg=$ubillingConfig->getAlter();
         if ($altCfg['ADCOMMENTS_ENABLED']) {         if ($altCfg['ADCOMMENTS_ENABLED']) {
-            //в конструкторе класса передаем название сущности/модуля(scope), с которыми связаны конкретные объекты+            //в конструкторі класу передаємо назву сутності/модуля(scope), з яким пов'язані конкретні обкти
             $adcomments=new ADcomments('ABSTRACTMODULE');             $adcomments=new ADcomments('ABSTRACTMODULE');
-            //вываливаем в вывод рендер существующих/потенциальных комментов для конкретного объекта (item) связанного с нашей сущностью+             
 +            //вивалюємо рендер існуючих/потенційних коментів для конкретного обкта (item) пов'язаного з нашою сутністю
             show_window(__('Additional comments'), $adcomments->renderComments($itemId));             show_window(__('Additional comments'), $adcomments->renderComments($itemId));
         }         }
 </code> </code>
  
-В результате получаем нечто типа такого:\\+В результаті отримуємо щось на кшталт такого:\\
  
-{{:adcommentsdev1.png?|}}+{{:undefined:adcommentsdev2.png|}}
  
-Все формочки для создания,редактирования,удаления примечаний - полностью самодостаточныи присутствуют в возвращаемом методом renderComments() результате.  +Всі формочки для створення, редагування, видалення приміток - повністю самодостатніі присутні у результаті, що повертається методом renderComments(). 
-Итого, в сухом остатке - две строчки. Создали объект класса ADcomments + показали ему, для кого хотим комментарии. Куда проще? +У сухому залишку - два рядки на все. Створили обкт класу ADcomments+показали йому, для кого хочемо коментарі. Куди простіше?
  
-А что если мы хотим предварительно показать для каких объектов в списке, уже есть существующие дополнительные примечанияно не хотим дергать базу по этому поводу каждый раз? А все так же очень просто. Для этого в ADcomments начиная с Ubilling 0.6.2 появились несколько прубличных метододов: haveComments (возвращает bool) и getCommentsIndicator (возвращает string) а также getCommentsCount (int). Параметром для них передается конкретный item в ранее инициализированном конструктором scope. Относительно нашего предыдущего абстрактного примера это должно выглядеть как-то так: +А якщо ми хочемо попередньо показати для яких обктів у списку, вже є існуючі додаткові примітки, але не хочемо смикати базу з цього приводу щоразу? А так само дуже просто. Для цього в ADcomments є декілька публічних методів: haveComments (повертає bool) і getCommentsIndicator (повертає string) та getCommentsCount (повертає int). Параметром для них передається конкретний item у раніше ініціалізованому конструктором scope. Щодо нашого попереднього абстрактного прикладу це має виглядати якось так:
  
 <code php> <code php>
-//допустим, что все объекты нашего абстрактного модуля лежат в массиве $all вида $itemId=>$itemData+//припустимощо всі обкти нашого абстрактного модуля лежать у масиві $all вигляду $itemId=>$itemData
  
         $altCfg=$ubillingConfig->getAlter();         $altCfg=$ubillingConfig->getAlter();
         if ($altCfg['ADCOMMENTS_ENABLED']) {         if ($altCfg['ADCOMMENTS_ENABLED']) {
-            // Один раз создали объект. Забыли.+            // Один раз створили обкт та забули
             $adcomments=new ADcomments('ABSTRACTMODULE');             $adcomments=new ADcomments('ABSTRACTMODULE');
         }         }
                  
         if (!empty($all)) {         if (!empty($all)) {
-         // перебираем айтемы поштучно+         // перебираємо айтеми поштучно
           foreach ($all as $id=>$data) {           foreach ($all as $id=>$data) {
-          //не забываем проверять, включена ли фича, и соответственно есть ли у кого спрашивать.+          //не забуваємо перевірятичи включена фіча, і відповідно чи є у кого запитувати
            if ($altCfg['ADCOMMENTS_ENABLED']) {            if ($altCfg['ADCOMMENTS_ENABLED']) {
-             //получаем иконку дополнительных комментариев если они присутствуют для него. Вторым параметром можно передать размер.+             //отримуємо іконку додаткових коментарів, якщо вони присутні для нього. Другим параметром можна передати розмір.
              $indicatorIcon=$adcomments->getCommentsIndicator($id);              $indicatorIcon=$adcomments->getCommentsIndicator($id);
                            
-             //ну и если хотим какой-то флаг поднять вот вам булевое значение+             //ну і якщо хочемо якийсь флажок підняти - ось вам булеве значення
              $adcommentsFlag=$adcomments->haveComments($id);              $adcommentsFlag=$adcomments->haveComments($id);
                            
-             //также можем отдельно получить количество комментариев для айтемаДа 0 - если нету. +             //також можемо окремо отримати кількість коментарів для айтемуТак 0 - якщо нема 
-             $adcommentsFlag=$adcomments->getCommentsCount($id);+             $adcommentsCount=$adcomments->getCommentsCount($id);
              }              }
           }            } 
adcomments.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1