Информация в этой теме может быть устаревшей
Ищите актуальные инструкции в Базе Знаний или свяжитесь с командой Эквида.
Closed Thread
 
Thread Tools Display Modes
  #1  
Old 02-29-2016, 12:11 PM
Daniil Chernenko's Avatar
Daniil Chernenko is offline
Senior Member
 
Join Date: Jun 2011
Posts: 319
Default

Подключение дополнительного описания.


Здравствуйте. Я подключаю дополнительное описание для товаров в определённой категории вот таким способом:

[CODE]<script>
Ecwid.OnPageLoaded.add(function(page) {
if (page.categoryId == '14917001'||page.categoryId == '14471008') {
jQuery("div.danya_flag_block").remove();
jQuery("<div class='danya_flag_block'>Тут моё описание</div>").insertAfter('.ecwid-productBrowser-details-descr');
}
else {
jQuery("div.danya_flag_block").remove();}
});

</script>[/CODE]

Вопрос:
Как можно корректно вынести "Тут моё описание" в отдельный html файл?

Пробовал [CODE]<?php include 'myFile.html'; ?>[/CODE]
Но тогда в файле не допускается перевод строки и двойные кавычки в html синтаксисе. Это очень не удобно. Вероятно дело в неэкранированных символах jQery.
Нет ли у кого под рукой готовой конструкции для удобного "всовывания" внешнего html в Ecwid.OnPageLoaded.add ????
  #2  
Old 03-03-2016, 12:53 PM
Panovich's Avatar
Panovich Panovich is offline
Ecwid Team
 
Join Date: Apr 2015
Posts: 761
Default

[QUOTE=Daniil Chernenko;143826]Здравствуйте. Я подключаю дополнительное описание для товаров в определённой категории вот таким способом:

[CODE]<script>
Ecwid.OnPageLoaded.add(function(page) {
if (page.categoryId == '14917001'||page.categoryId == '14471008') {
jQuery("div.danya_flag_block").remove();
jQuery("<div class='danya_flag_block'>Тут моё описание</div>").insertAfter('.ecwid-productBrowser-details-descr');
}
else {
jQuery("div.danya_flag_block").remove();}
});

</script>[/CODE]

Вопрос:
Как можно корректно вынести "Тут моё описание" в отдельный html файл?

Пробовал [CODE]<?php include 'myFile.html'; ?>[/CODE]
Но тогда в файле не допускается перевод строки и двойные кавычки в html синтаксисе. Это очень не удобно. Вероятно дело в неэкранированных символах jQery.
Нет ли у кого под рукой готовой конструкции для удобного "всовывания" внешнего html в Ecwid.OnPageLoaded.add ????[/QUOTE]
Здравствуйте,

К сожалению, у нас нет готовой инструкции, как подтягивать html-файл на страницу с описанием в Эквиде. Но мы подумали, что вам может подойти вариант с айфреймом.
Мы немного изменили ваш скрипт и вот что получилось:

[code]
<script>
var descriptionSource = "https://example.com/";
var width = "800px";
var height = "500px";
Ecwid.OnPageLoaded.add(function(page) {
if (page.categoryId == '14917001'||page.categoryId == '14471008') {
jQuery("div.danya_flag_block").remove();
jQuery('<div class="danya_flag_block"><iframe src="'+descriptionSource+'" height="'+height+'" width="'+width+'"></iframe></div>').insertAfter('.ecwid-productBrowser-details-descr');
}
else {
jQuery("div.danya_flag_block").remove();}
});
</script>
[/code]

В этом скрипте замените [url]https://example.com/[/url] ссылкой на файл.
Вместо 800 и 500 укажите нужную ширину и высоту.


Если такое решение вам не подойдёт, расскажите, пожалуйста, подробнее про свою конечную цель. Зачем вы именно так хотите подключать дополнительное описание? Как всё должно выглядеть для покупателя? Дополнительная информация нам пригодится, и мы подумаем, какое ещё решение можно применить.
__________________
Всем добра!
Анна Панова

Команда заботы о пользователях Эквида

Читайте наш блог на русском языке, там много полезной информации!
База знаний.
  #3  
Old 03-09-2016, 12:36 PM
Daniil Chernenko's Avatar
Daniil Chernenko Daniil Chernenko is offline
Senior Member
 
Join Date: Jun 2011
Posts: 319
Default

... я всё таки не стал использовать iframe, так как предположил, что с фиксированным его размером возникнут проблемы при адаптации ширины сайта.
Я остановился на первом моём варианте, "очистив" содержимое внешнего файла от переводов строки и явных кавычек. Заработало. Однако есть вопросы: об этом ниже.

Идея в том, чтобы создать общее описание к однотипным товарам, не добавляя его в каждый товар - это удобно со всех сторон.
Посмотреть реализацию этой идеи можно тут: блок внизу описания "Флаг произведён...".
[url]http://1330.ru/#!/Флаг-Закаменского-района/p/24114096/category=5299146[/url]

Проблема же в том, что событие отлавливается по id категории. Если пользователь пришел на страницу товара из поисковика (а там товар проиндексировался без id категории в URL), то блок не появляется.
Нельзя ли отлавливать условие отображения блока, например по "дереву" в навигационной цепочке? Этот вариант, кстати, избавил бы меня от необходимости задавать в скрипте номера всех вложенных категорий, а задавал бы я только верхнюю родительскую "Флаги и знамёна."

Last edited by Panovich; 03-11-2016 at 01:30 PM.
  #4  
Old 03-11-2016, 01:19 PM
Panovich's Avatar
Panovich Panovich is offline
Ecwid Team
 
Join Date: Apr 2015
Posts: 761
Default

[QUOTE=Daniil Chernenko;144215]... я всё таки не стал использовать iframe, так как предположил, что с фиксированным его размером возникнут проблемы при адаптации ширины сайта.
Я остановился на первом моём варианте, "очистив" содержимое внешнего файла от переводов строки и явных кавычек. Заработало. Однако есть вопросы: об этом ниже.

Идея в том, чтобы создать общее описание к однотипным товарам, не добавляя его в каждый товар - это удобно со всех сторон.
Посмотреть реализацию этой идеи можно тут: блок внизу описания "Флаг произведён...".
[url]http://1330.ru/#!/Флаг-Закаменского-района/p/24114096/category=5299146[/url]

Проблема же в том, что событие отлавливается по id категории. Если пользователь пришел на страницу товара из поисковика (а там товар проиндексировался без id категории в URL), то блок не появляется.
Нельзя ли отлавливать условие отображения блока, например по "дереву" в навигационной цепочке? Этот вариант, кстати, избавил бы меня от необходимости задавать в скрипте номера всех вложенных категорий, а задавал бы я только верхнюю родительскую "Флаги и знамёна."[/QUOTE]
Здравствуйте,

Спасибо, что рассказали о своей задаче! Я думаю, в таком случае событие лучше отслеживать не по id категории, а по определённому элементу, который появляется на всех страницах с товарами, на которых должен сработать скрипт. То есть грубо говоря, отслеживать нужно будет элемент "флаги и знамёна" в вашем случае. Скрипт будет реагировать на то, что на странице есть этот текст. И тогда он будет срабатывать даже в том случае, если покупатель придёт на сайт из поисковика.
__________________
Всем добра!
Анна Панова

Команда заботы о пользователях Эквида

Читайте наш блог на русском языке, там много полезной информации!
База знаний.
  #5  
Old 03-14-2016, 08:49 AM
Daniil Chernenko's Avatar
Daniil Chernenko Daniil Chernenko is offline
Senior Member
 
Join Date: Jun 2011
Posts: 319
Default

Логика-то мне понятна. У меня с реализацией потуги :).
[URL="http://prntscr.com/af0zv2"]http://prntscr.com/af0zv2[/URL]
Вот это отловить.
  #6  
Old 03-17-2016, 01:05 PM
Panovich's Avatar
Panovich Panovich is offline
Ecwid Team
 
Join Date: Apr 2015
Posts: 761
Default

[QUOTE=Daniil Chernenko;144385]Логика-то мне понятна. У меня с реализацией потуги :).
[URL="http://prntscr.com/af0zv2"]http://prntscr.com/af0zv2[/URL]
Вот это отловить.[/QUOTE]
Здравствуйте,

Я посоветовалась ещё раз с коллегами, они подсказали, что вы можете в скрипте вместо "page.categoryId" использовать "mainCategoryId". Здесь описание - [url]https://developers.ecwid.com/api-documentation#page-object[/url]. Это должно подойти для вашей задачи.
__________________
Всем добра!
Анна Панова

Команда заботы о пользователях Эквида

Читайте наш блог на русском языке, там много полезной информации!
База знаний.
The Following User Says Thank You to Panovich For This Useful Post:
Daniil Chernenko (05-24-2016)
  #7  
Old 03-18-2016, 08:20 AM
Daniil Chernenko's Avatar
Daniil Chernenko Daniil Chernenko is offline
Senior Member
 
Join Date: Jun 2011
Posts: 319
Default

Спасибо, большое - так заработало. Только, точнее будет сказать: вместо "page.categoryId" использовать "page.mainCategoryId".
Closed Thread
Информация в этой теме может быть устаревшей
Ищите актуальные инструкции в Базе Знаний или свяжитесь с командой Эквида.

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Off
Smilies are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:35 AM.
Powered by vBulletin® Version 3.8.11. Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.