Проблема с отображением <span dir="ltr">(22)</span>

Доброго всех времени суток. Заметил что после обновления MODx до версии 2.7.1 (а может быть и раньше) в minishop2 не корректно отображаются названия категорий товаров, а именно в span появился еще один span из-за этого вид следующий — yadi.sk/i/NK8Rs-YRGltk1A
Интересно, что гугл вообще не дал ответа на этот вопрос, такое ощущение, что я первый увидел этот косяк. Как это дело пофиксить?
Максим
16 марта 2019, 00:39
modx.pro
1
778
0

Комментарии: 2

    Дмитрий
    24 июня 2021, 17:01
    +1
    Добрый день!

    Нужно перезаписать ExtJS-компонент miniShop2.tree.Categories.
    По шагам:

    • Создаем файлы:
      1. /core/components/extendedminishop2/elements/plugins/extended.minishop2.php
      2. /assets/components/extendedminishop2/js/mgr/category.tree.js

    • Создаем в админке плагин extendedMinishop2. Назначаем ему событие OnDocFormPrerender
    • Код плагина в админке:
      <?php
      if ($pdoTools = $modx->getService('pdoTools')) {
          $pdoTools->runSnippet('@FILE plugins/extended.minishop2.php', array_merge(
            array(
              'elementsPath' => MODX_CORE_PATH . 'components/extendedminishop2/elements/'
              ),
            $scriptProperties));
      }
    • Код в файле /core/components/extendedminishop2/elements/plugins/extended.minishop2.php
      <?php
      
      switch ($modx->event->name) {
        case 'OnDocFormPrerender':
          $modx->controller->addLastJavaScript(MODX_ASSETS_URL . 'components/extendedminishop2/js/mgr/category.tree.js');
          break;
      }
    • Код в файле /assets/components/extendedminishop2/js/mgr/category.tree.js
      Ext.override(miniShop2.tree.Categories, {
        prepareNodes: function(node) {
          var params = {};
          if (location.search) {
              var parts = location.search.substring(1).split('&');
      
              for (var i = 0; i < parts.length; i++) {
                  var nv = parts[i].split('=');
                  if (!nv[0]) continue;
                  params[nv[0]] = nv[1] || true;
              }
          }
          var activeFile = params.file;
      
          Ext.each(node.childNodes,function (node) {
              if (node.attributes.selected || node.id == activeFile) {
                  node.ui.addClass('x-tree-selected');
              }
      
              if (node.attributes.text) {
                node.ui.textNode.innerHTML = node.attributes.text;
              }
      
              this.addNodeButtons(node);
          }, this);
        }
      });
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2