• Пытаюсь создать модификатор для breadcrumb OpenCart 3 - где напортачил?

    @Konstanin_by
    Вчера на Гуглил Ваш вариант Microdata BreadcrumbList. Модификатор рабочий, но при анализе в Webmaster Tools - Rich получаю ошибку. Требует добавить значение для @id . После нескольких часов, потраченных на попытки понять чего хочет Google, меня "о синило" - Google хочет тоже самое, но в формате ld+json ! Потратил ещё несколько часов. Когда не знал, а ещё и забыл - потратить несколько часов это нормально. В итоге у меня получился такой Модификатор Breadcrumb ld+json для OpenCart 3
    <?xml version="1.0" encoding="UTF-8"?>
    <modification>
      <code>breadcrumblist_json</code>
      <name><![CDATA[BreadcrumbList ld+json OC 3.0.x]]></name>
      <version><![CDATA[1.0]]></version>
      <author><![CDATA[AlexSF]]></author>
      <date><![CDATA[2020.03.04]]></date>  
      <file path='catalog/language/ru-ru/ru-ru.php'>
        <operation info='Fix for Font Awesome'>
          <search><![CDATA[
            <i class="fa fa-home"></i>
          ]]></search>
          <add position='replace'><![CDATA[<i class="fa fa-home"></i><span style="display:none">Главная</span>]]></add>
        </operation>
      </file>  
      <file path='catalog/view/theme/*/template/{product,information,checkout,account}/*.twig'>
        <operation error="skip">
          <search><![CDATA[
            <ul class="breadcrumb">
            	]]></search>
          <add position="before"><![CDATA[
    <script type="application/ld+json">
    {
    "@context": "http://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement":
    [
    {% for key,breadcrumb in breadcrumbs %}
      {
    	  "@type": "ListItem",
    	  "position": {{ key+1 }},
    	  "item":
    	  {
    		  "@id": "{{ breadcrumb['href'] }}",
    		  "name": "{{ breadcrumb['text']|striptags }}"
    	  }
      {% if loop.last == false %}
    	},  
      {% else %}
    	}
      {% endif %}
    {% endfor %}
     ]
    }
    </script>
          ]]></add>
        </operation>
      </file>  
    </modification>
    Ответ написан
    Комментировать
  • Как заменить часть текста в переменной частью текста из другой переменной?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    let a = ['Калинина 152, Москва, Россия', 'каленова 81, гдетов, россия'],
    	b = ['Калинина 152 домофон к2534 зовут Инокентий #827', 'Каленова 81 никого нет дома, оставить у двери #274']
    const wccustoms = s => s.replace(/^[^,]*/, m => {
    		let r = new RegExp('^' + m,'i'),
    			v = b.find(v=>r.test(v))
    		return v ? v.substr(0,v.indexOf('#')) : m
      })
    for (addr of a)
    	console.log(wccustoms(addr))

    А если серьёзно то
    const result = string2.substr(0,string2.indexOf('#'))+string1.substr(string1.indexOf(',',))
    Ответ написан
    Комментировать
  • Как подружить два .scrollTop?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Скрипты между собой никак не конфликтуют, просто у вас первый скрипт кривой.
    При клике на ссылку вида
    <a href="#">Раз я никуда не веду, я должна быть кнопкой, а не ссылкой</a>
    , выражение $($.attr(this, 'href')).offset().top превращается в $('#').offset().top и jQuery не знает что с этим делать.
    Ответ написан
    Комментировать
  • Пытаюсь создать модификатор для breadcrumb OpenCart 3 - где напортачил?

    zoozag
    @zoozag
    Opencart
    <add position="replace" offset=" количество строк">
    Ответ написан
    Комментировать