modx-pro / miniShop2

Second version of simple online shop for MODX Revolution
GNU General Public License v2.0
149 stars 128 forks source link

скрипт msnotify.class.js не поддерживает сайты без base директивы #896

Open rasxod opened 11 months ago

rasxod commented 11 months ago

Сообщение об ошибке / Error message

без html base директива не подгружаются скрипты js из msnotify.class.js without html base directive js scripts from msnotify.class.js are not loaded

Резюме / Summary

нужна проверка на наличие директивы need to check for the existence of the directive

Испарвление / Evaporation

image

Environment

Версия miniShop2(4.3.0-pl), версия MODX(2.8.5), включены новые скрипты minishop

rasxod commented 11 months ago

разрешите редактирование скриптов без форка, а то изменения не внести

вот код

    if (this.config.jsPath) {
      const script = document.createElement('script')
      // script.src = this.config.jsPath
      script.src = (document.getElementsByName("base") === true) ? this.config.jsPath : '/'+this.config.jsPath
      script.async = true
      document.body.appendChild(script)
    }

    if (this.config.cssPath) {
      const styles = document.createElement('link')
      // styles.href = this.config.cssPath
      styles.href = (document.getElementsByName("base") === true) ? this.config.cssPath : '/'+this.config.cssPath
      styles.rel = 'stylesheet'
      document.head.appendChild(styles)
    }
webinmd commented 11 months ago

без тега base в модх могут возникнуть и другие проблемы, лучше его добавлять

rasxod commented 11 months ago

без тега base в модх могут возникнуть и другие проблемы, лучше его добавлять

господа... это прям совсем такое... обескуражили...

webinmd commented 11 months ago

без тега base в модх могут возникнуть и другие проблемы, лучше его добавлять

господа... это прям совсем такое... обескуражили...

если будет прислан PR, то его с удовольствием протестируют и вольют в новую версию

Ruslan-Aleev commented 11 months ago

А если просто в начале путей / указать? Как бы путь будет работать и с //, если будет base указан, и с одним /, если не указан. Или я путаю?

rasxod commented 11 months ago

без тега base в модх могут возникнуть и другие проблемы, лучше его добавлять

господа... это прям совсем такое... обескуражили...

если будет прислан PR, то его с удовольствием протестируют и вольют в новую версию

PR я так понял пример решения?... то в общем я его прислал чуть выше посмотрите

rasxod commented 11 months ago

А если просто в начале путей / указать? Как бы путь будет работать и с //, если будет base указан, и с одним /, если не указан. Или я путаю?

не очень понял что именно вы хотите...(((

Ruslan-Aleev commented 11 months ago

@rasxod Я про то, что можно задать / без проверки, будет так: script.src = '/' + this.config.jsPath На мой взгляд, даже с //, т.к. если base будет указан, то путь будет таким, условно: https://site.ru//assets/jspath... (2 слеша получится), и все-равно должно работать (если не путаю).

НО, как выше указали, в MODX без base мало что работает, например, вложенные seo-url ломаются, поэтому в целом странно, что вы обратили внимание на эти пути =)

rasxod commented 11 months ago

@rasxod Я про то, что можно задать / без проверки, будет так: script.src = '/' + this.config.jsPath На мой взгляд, даже с //, т.к. если base будет указан, то путь будет таким, условно: https://site.ru//assets/jspath... (2 слеша получится), и все-равно должно работать (если не путаю).

НО, как выше указали, в MODX без base мало что работает, например, вложенные seo-url ломаются, поэтому в целом странно, что вы обратили внимание на эти пути =)

это я пробовал - не работает(