Сделать кнопку BBCode с JavaScript

Поиски исполнителей услуг относительно phpBB. Установлена авточистка (33 дня).
Правила форума
Создание новой темы в данном форуме означает размещение заказа на выполнение какой-либо работы с целью поиска исполнителя.
Не размещайте заказов в темах, созданных не вами!
Администрация phpBB Guru предупреждает, что она не несет никакой ответственности за действия как заказчиков, так и исполнителей, найденных в этом разделе. Вы действуете на собственный страх и риск.
ВНИМАНИЕ ИСПОЛНИТЕЛЯМ: запрещается злоупотребление аккаунтом, выражающееся в его использовании главным образом в целях поиска заказчиков. Исполнителям, проявляющим активность главным образом в данном форуме и не оказывающим бесплатной помощи в форумах поддержки phpBB, доступ к данному форуму будет ограничен или запрещен.
Убедительная просьба к заказчикам отмечать в теме, что заказ уже не актуален (исполнитель найден, заказ выполнен, заказ отменён и т.п.).
Если Вы желаете закрыть свою тему, обратитесь к модератору.
Ответить
Baiker
phpBB 1.4.0
Сообщения: 33
Зарегистрирован: 09.08.2010 10:23
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Сделать кнопку BBCode с JavaScript

Сообщение Baiker » 26.05.2019 14:34

Необходимо создать новый BBCode [прописываемый руками через раздел BBCODES стандартной админки phpbb.], который будет вызывать JavaScript код от Яндекс Маркета.
Коду в качестве параметра передается заключенный в тэг текст (вероятно через {TEXT}).
Код выводит предложения на этот "текст" с Я.Маркета.


То есть, заключив текст в тэг (предполагаем, что товар с таким названием есть на я.маркета), например так, [ymarket]LG OLED65C8[/ymarket], хочется получить на форуме такое:

Изображение


Вот код от Яндекса (в параметр searchText передается текст)

Код: Выделить всё

<!-- Yandex.Market Widget -->
<script async src="https://aflt.market.yandex.ru/widget/script/api" type="text/javascript"></script>
<script type="text/javascript">
    (function (w) {
        function start() {
            w.removeEventListener("YaMarketAffiliateLoad", start);
            w.YaMarketAffiliate.createWidget({containerId:"marketWidget",
	type:"offers",
	params:{clid:2344738,
		searchText:"LG OLED65C8",
		themeId:2 } });
        }
        w.YaMarketAffiliate
            ? start()
            : w.addEventListener("YaMarketAffiliateLoad", start);
    })(window);
</script>
<!-- End Yandex.Market Widget -->
Версия phpbb 3.0.12



Жду Ваших предложений!

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9301
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 164 раза
Поблагодарили: 2595 раз
Контактная информация:

Re: Сделать кнопку BBCode с JavaScript

Сообщение Татьяна5 » 26.05.2019 15:41

3.0.12? В чём тогда проблема?

Код: Выделить всё

<!-- Yandex.Market Widget -->
<script async src="https://aflt.market.yandex.ru/widget/script/api" type="text/javascript"></script>
<script type="text/javascript">
    (function (w) {
        function start() {
            w.removeEventListener("YaMarketAffiliateLoad", start);
            w.YaMarketAffiliate.createWidget({containerId:"marketWidget",
	type:"offers",
	params:{clid:2344738,
		searchText:"{TEXT}",
		themeId:2 } });
        }
        w.YaMarketAffiliate
            ? start()
            : w.addEventListener("YaMarketAffiliateLoad", start);
    })(window);
</script>
<!-- End Yandex.Market Widget -->
Единственное: код небезопасен, так что запретите его использование для всех, кроме доверенной группы (модов для этого хватает в готовом виде)

Baiker
phpBB 1.4.0
Сообщения: 33
Зарегистрирован: 09.08.2010 10:23
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Сделать кнопку BBCode с JavaScript

Сообщение Baiker » 26.05.2019 16:34

Татьяна5, проблема в том, что при прописывании в BBCODE не могу заставить его работать :(

В "Использование BBCode" прописываю: [ymarket]{TEXT}[/ymarket]

В "Замена HTML" прописываю:

Код: Выделить всё

<!-- Yandex.Market Widget -->
<script async src="https://aflt.market.yandex.ru/widget/script/api" type="text/javascript"></script>
<script type="text/javascript">
    (function (w) {
        function start() {
            w.removeEventListener("YaMarketAffiliateLoad", start);
            w.YaMarketAffiliate.createWidget({containerId:"marketWidget",
	type:"offers",
	params:{clid:2344738,
		searchText:"{TEXT}",
		sovetnikPromo:false,
		themeId:4 } });
        }
        w.YaMarketAffiliate
            ? start()
            : w.addEventListener("YaMarketAffiliateLoad", start);
    })(window);
</script>
<!-- End Yandex.Market Widget -->
Кэш сбосил. При попытке вызова виджет не отображается, хотя в коде страницы код виден.

Аватара пользователя
Dbonz
phpBB 2.0.0
Сообщения: 227
Зарегистрирован: 08.07.2012 14:04
Благодарил (а): 25 раз
Поблагодарили: 25 раз

Re: Сделать кнопку BBCode с JavaScript

Сообщение Dbonz » 26.05.2019 17:19

Baiker, атрибут async попробуйте убрать.

Baiker
phpBB 1.4.0
Сообщения: 33
Зарегистрирован: 09.08.2010 10:23
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Сделать кнопку BBCode с JavaScript

Сообщение Baiker » 26.05.2019 17:28

Dbonz, первым делом попробовал. Не фунициклирует всё равно.

Аватара пользователя
Pazh
Former team member
Сообщения: 2121
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 37 раз
Поблагодарили: 431 раз
Контактная информация:

Re: Сделать кнопку BBCode с JavaScript

Сообщение Pazh » 26.05.2019 17:30

Baiker, открой consol в браузере и посмотри на ошибки js на странице с кодом
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
Dbonz
phpBB 2.0.0
Сообщения: 227
Зарегистрирован: 08.07.2012 14:04
Благодарил (а): 25 раз
Поблагодарили: 25 раз

Re: Сделать кнопку BBCode с JavaScript

Сообщение Dbonz » 26.05.2019 17:50

Baiker, ну а div в DOM добавили с идентификатором marketWidget?

Код: Выделить всё

<div id="marketWidget"></div>

Baiker
phpBB 1.4.0
Сообщения: 33
Зарегистрирован: 09.08.2010 10:23
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Сделать кнопку BBCode с JavaScript

Сообщение Baiker » 26.05.2019 17:51

Dbonz - нет(. Как это сделать?

Аватара пользователя
Dbonz
phpBB 2.0.0
Сообщения: 227
Зарегистрирован: 08.07.2012 14:04
Благодарил (а): 25 раз
Поблагодарили: 25 раз

Re: Сделать кнопку BBCode с JavaScript

Сообщение Dbonz » 26.05.2019 17:54

Baiker, https://yandex.ru/support/market-distr/ ... -code.html
В "Замена HTML" просто добавьте div

Baiker
phpBB 1.4.0
Сообщения: 33
Зарегистрирован: 09.08.2010 10:23
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Сделать кнопку BBCode с JavaScript

Сообщение Baiker » 26.05.2019 17:55

Dbonz, добавил последней строчкой, заработало! Огромное спасибо!!! :)
http://webos-forums.ru/post87049.html#p87049

Ответить

Вернуться в «Рекрутинг»