Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь по устранению ошибок (https://javascript.ru/forum/misc/73066-nuzhna-pomoshh-po-ustraneniyu-oshibok.html)

laimas 20.03.2018 07:34

Строка 24 - фигурная скобка лишняя.
И объекты записываться будут так: {...},{...}, а в вашем представлении запятых нет.

Stas1985 20.03.2018 08:04

то есть делать так
<script type="application/ld+json">
{
  "@context" : "http://schema.org", "@type" : "LocalBusiness", "name" : "Полиграфия - Оформление в багет",
  "telephone" : "+7 (7172) 31 00 01, 31 80 42, 39 71 90", "email" : "lik-astana@mail.ru",
  "address" : {
    "@type" : "PostalAddress",
    "streetAddress" : "ул. Бейбитшилик, 71 кв. 19 пересечение ул. Бейбитшилик (Мира) и ул. А. Молдагуловой (9 Мая), вход с проезжей части, вывеска Лик",
    "addressLocality" : "Астана", 
	"addressCountry" : "Республика Казахстан", 
	"postalCode" : "010000"
  },
  "openingHoursSpecification" : {
    "@type" : "OpeningHoursSpecification",
    "dayOfWeek" : {
      "@type" : "DayOfWeek",
      "name" : "понедельник - пятница с 9:00 до 19:00, обед с 13:00 до 14:00;"
   }, 
   "opens" : "9:00 до 19:00", 
   "closes" : "13:00 до 14:00"
   }, 
   "image" : "https://lik-astana.kz/images/logo-schema.jpg"
   }, 
   "url" : "https://lik-astana.kz/"  
{
  "@context": "http://schema.org", "@type": "Organization", "url": "https://lik-astana.kz", "logo": "https://lik-astana.kz/images/mabile_logo.png"
}
{
  "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement":
  [{
    "@type": "ListItem", "position": 1,
    "item": { "@id": "https://lik-astana.kz/", "name": "Главная" }
  },{
    "@type": "ListItem", "position": 2,
    "item": { "@id": "https://lik-astana.kz/o-kompanii.html", "name": "О КОМПАНИИ" }
  },{
    "@type": "ListItem", "position": 3,
    "item": {  "@id": "https://lik-astana.kz/kontakty.html", "name": "Контакты"}
    }]
}
</script>

или так
<script type="application/ld+json">
{
  "@context" : "http://schema.org", "@type" : "LocalBusiness", "name" : "Полиграфия - Оформление в багет",
  "telephone" : "+7 (7172) 31 00 01, 31 80 42, 39 71 90", "email" : "lik-astana@mail.ru",
  "address" : {
    "@type" : "PostalAddress",
    "streetAddress" : "ул. Бейбитшилик, 71 кв. 19 пересечение ул. Бейбитшилик (Мира) и ул. А. Молдагуловой (9 Мая), вход с проезжей части, вывеска Лик",
    "addressLocality" : "Астана", 
	"addressCountry" : "Республика Казахстан", 
	"postalCode" : "010000"
  },
  "openingHoursSpecification" : {
    "@type" : "OpeningHoursSpecification",
    "dayOfWeek" : {
      "@type" : "DayOfWeek",
      "name" : "понедельник - пятница с 9:00 до 19:00, обед с 13:00 до 14:00;"
   }, 
   "opens" : "9:00 до 19:00", 
   "closes" : "13:00 до 14:00"
   }, 
   "image" : "https://lik-astana.kz/images/logo-schema.jpg" 
   "url" : "https://lik-astana.kz/"  
}
{
  "@context": "http://schema.org", "@type": "Organization", "url": "https://lik-astana.kz", "logo": "https://lik-astana.kz/images/mabile_logo.png"
}
{
  "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement":
  [{
    "@type": "ListItem", "position": 1,
    "item": { "@id": "https://lik-astana.kz/", "name": "Главная" }
  },{
    "@type": "ListItem", "position": 2,
    "item": { "@id": "https://lik-astana.kz/o-kompanii.html", "name": "О КОМПАНИИ" }
  },{
    "@type": "ListItem", "position": 3,
    "item": {  "@id": "https://lik-astana.kz/kontakty.html", "name": "Контакты"}
    }]
}
</script>

laimas 20.03.2018 08:14

По идее так:

{
  "@context" : "http://schema.org", "@type" : "LocalBusiness", "name" : "Полиграфия - Оформление в багет",
  "telephone" : "+7 (7172) 31 00 01, 31 80 42, 39 71 90", "email" : "lik-astana@mail.ru",
  "address" : {
    "@type" : "PostalAddress",
    "streetAddress" : "ул. Бейбитшилик, 71 кв. 19 пересечение ул. Бейбитшилик (Мира) и ул. А. Молдагуловой (9 Мая), вход с проезжей части, вывеска Лик",
    "addressLocality" : "Астана",
    "addressCountry" : "Республика Казахстан",
    "postalCode" : "010000"
  },
  "openingHoursSpecification" : {
    "@type" : "OpeningHoursSpecification",
    "dayOfWeek" : {
      "@type" : "DayOfWeek",
      "name" : "понедельник - пятница с 9:00 до 19:00, обед с 13:00 до 14:00;"
   },
   "opens" : "9:00 до 19:00",
   "closes" : "13:00 до 14:00"
   },
   "image" : "https://lik-astana.kz/images/logo-schema.jpg"
   },
   "url" : "https://lik-astana.kz/", 
{
  "@context": "http://schema.org", "@type": "Organization", "url": "https://lik-astana.kz", "logo": "https://lik-astana.kz/images/mabile_logo.png"
},
{
  "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement":
  [{
    "@type": "ListItem", "position": 1,
    "item": { "@id": "https://lik-astana.kz/", "name": "Главная" }
  },{
    "@type": "ListItem", "position": 2,
    "item": { "@id": "https://lik-astana.kz/o-kompanii.html", "name": "О КОМПАНИИ" }
  },{
    "@type": "ListItem", "position": 3,
    "item": {  "@id": "https://lik-astana.kz/kontakty.html", "name": "Контакты"}
    }]
}


Но, вы что их сами ручками вставляете в код или это данные например из базы? И каким образом скрипты будут находить эти объекты если они не содержат имен?

Stas1985 20.03.2018 08:45

Цитата:

Но, вы что их сами ручками вставляете в код или это данные например из базы?
Вставляется в шаблон файл schema.php а в нем этот код.
Данный шаблон тянется еще с joomla 2 и не переделывался.
Цитата:

И каким образом скрипты будут находить эти объекты если они не содержат имен?
Какие скрипты должны находить?

laimas 20.03.2018 08:59

Цитата:

Сообщение от Stas1985
Вставляется в шаблон файл schema.php а в нем этот код.

Ну так нужно не руками править, а искать проблемы в РНР коде, он готовит этот JSON, а "два подряд json" как один "json", то есть {}{} не могут быть, это ошибка.

А РНР готовит этот json из массива/массивов посредством кодирования их функцией json_encode(), если только в вашем коде не "самописка", которая и дает ошибки.

Цитата:

Сообщение от Stas1985
Какие скрипты должны находить?

Если объявлен объект под переменной с именем к примеру var obj = {'data': 1}, то получить из него данные, это в сценарии так: obj.data. У вас просто скриптом подключаются не именованные объекты - {},{}..., каким образом js будут обращаться к ним?

Stas1985 20.03.2018 09:33

Файл schema.php и есть такого вида
<script type="application/ld+json">
{
	  "@context" : "http://schema.org", "@type" : "LocalBusiness", "name" : "Полиграфия - Оформление в багет",
	  "telephone" : "+7 (7172) 31 00 01, 31 80 42, 39 71 90", "email" : "lik-astana@mail.ru",
	  "address" : {
	    "@type" : "PostalAddress",
	    "streetAddress" : "ул. Бейбитшилик, 71 кв. 19 пересечение ул. Бейбитшилик (Мира) и ул. А. Молдагуловой (9 Мая), вход с проезжей части, вывеска Лик",
	    "addressLocality" : "Астана",
	    "addressCountry" : "Республика Казахстан",
	    "postalCode" : "010000"
	  },
	  "openingHoursSpecification" : {
	    "@type" : "OpeningHoursSpecification",
	    "dayOfWeek" : {
	      "@type" : "DayOfWeek",
	      "name" : "понедельник - пятница с 9:00 до 19:00, обед с 13:00 до 14:00;"
	   },
	   "opens" : "9:00 до 19:00",
	   "closes" : "13:00 до 14:00"
	   },
	   "image" : "https://lik-astana.kz/images/logo-schema.jpg"
	   },
	   "url" : "https://lik-astana.kz/",
	{
	  "@context": "http://schema.org", "@type": "Organization", "url": "https://lik-astana.kz", "logo": "https://lik-astana.kz/images/mabile_logo.png"
	},
	{
	  "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement":
	  [{
	    "@type": "ListItem", "position": 1,
	    "item": { "@id": "https://lik-astana.kz/", "name": "Главная" }
	  },{
	    "@type": "ListItem", "position": 2,
	    "item": { "@id": "https://lik-astana.kz/o-kompanii.html", "name": "О КОМПАНИИ" }
	  },{
	    "@type": "ListItem", "position": 3,
	    "item": {  "@id": "https://lik-astana.kz/kontakty.html", "name": "Контакты"}
	    }]
	}
</script>

это файл целиком и подключается он в шаблон в head
include JPATH_BASE . DS . 'templates' . DS . 'lik-astana' . DS . 'html' . DS . 'schema.php';

laimas 20.03.2018 10:23

Цитата:

Сообщение от Stas1985
Файл schema.php и есть такого вида

Вы что руками готовите этот объект, он статичен и не изменяется?

Stas1985 20.03.2018 10:58

Да он не изменяется.

laimas 20.03.2018 11:09

Цитата:

Сообщение от Stas1985
Да он не изменяется.

Все равно это плохо, но дело хозяйское. Коли руками, значит проверяйте везде в коде формирование таких объектов и исправляйте ошибки.

А каким образом он, безымянный, у вас работать будет, это уж вам виднее.

Stas1985 20.03.2018 13:36

А зачем вообще менять в нем данные ведь этот код структурированных данных гугла и проверку он проходит
https://search.google.com/structured-data/testing-tool


Часовой пояс GMT +3, время: 05:15.