Вставить в тему блок из файла/шаблона с помощью Ajax Есть решение
SEO оптимизатор (извините за маты), посоветовал в теме блоки со ссылками на соц. сети вынести в отдельный блок и грузить через Ajax.
Подскажите как это проще сделать в реалиях Webasyst.
В статической странице я бы вызвал $("#load_social").load("social.html"); и все.
Как здесь загрузить файл/шаблон блока который находится в теме?
Спасибо.
10 ответов
Перенести коды виджетов соцсетей непосредственно в нужный статичный шаблон, грузить его аяксом и не забывать после этого подать команды на их рендеринг.
У FB - например так: https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse
Как это сделать у других СС, смотрите в их документации.
Не уверен, будет ли толк, если отдавать этот шаблон через самописный контроллер, там же всё равно подгрузка аяксом идёт - это надо проверять.
В общем, как-нибудь извратится можно, только вот нужно ли? -)
Вот тут подробнее можно? Часть с социальными кнопками вынес в отдельный файл.
Но возникает вопрос какой путь к файлу указать в команде
И соответственно как сделать что бы social.html обработался smarty
Спасибо
Чтобы шаблон обработался Smarty можно блок добавить в страницу-черновик и грузить так:
Ну или написать свой плагин. Это не так сложно :)
Не исключено, что это уже не работает :) Можно попробовать посмотреть как GoogleBot.
Сталкивался со случаями, когда блок подгружённый аяксом, отображался.
Статичные шаблоны напрямую не будут отображаться.
Самый простой, наверное, способ: через "Файлы" в приложении "Сайт" залить social.html и грузить его так как вы написали
Под шаблоном который должен обработаться smarty я имел в виду содержимое файла social.html
В таком варианте
smarty ведь не обработает файл? т.е. он тут должен быть с чистым html
а хотелось бы с обработкой. но если не получится - буду обходиться без настроек из темы.
Если social.html просто статичный html без smarty-кода, то и прогонять его через смарти не нужно.
В это шаблоне у вас по сути будет голый html и js-код виджетов...главное сделать так, чтобы после загрузки этого шаблона заставить cработать js-код виджетов.
Почитайте как это делать.
Вот например http://ru.stackoverflow.com/questions/153733/%D0%9...
Я все понял. Спасибо.
А если код не статичный, как сделать что бы webasyst его обработал?
Я ответил выше. При помощи текстовой страницы черновика либо плагин.
почему то в черновике страницы не работает код
Насколько я знаю - нет. Ищите обходные пути.