Евгений
0.1+0.2
это на черный день циферка
Gaius Cassius
Это для банковских операций
Александр
С первой попытки не получилось, попробую еще разок). Ребята кто-то делал кнопку шаринга в вк с callback'ом. То есть только когда юзер точно сделал репост надо отправить ajax чтобы сделать запись в бд. Нашел колбек только для кнопки "нравится", но это немного не то, нужно именно для репостов.
Gaius Cassius
Gaius Cassius
https://ru.stackoverflow.com/questions/677202/Проверить-сделал-ли-пользователь-репост-callback-api-vk
Gaius Cassius
Весь колбэк заключается в перелопачивании стены
Александр
Нет смысла. Обычно делают репост и сразу удаляют. По факту получается репост Шрёдингера
Спасибо. Но имея колбек я могу обратиться к апи вк и получить в ответе количество репостов ссылки на основе данных самого вк и потом это значение занести в бд. Получится более менее актуальная статистика.
Задача то какова - есть на сайте лента постов и кнопки шаринга фб, вк и общее количество репостов поста. То есть делая репост в одной из соц сетей общий счетчик меняется. С фб разобрался а вк чет не дается никак
Александр
Александр
Весь колбэк заключается в перелопачивании стены
есть коллбек для кнопки "нравиться"
`VK.Observer.subscribe('widgets.like.shared', function()
{
//если пользователь опубликовал ваш пост
console.log('sharing')
});`
Но это не свистит, так как юзер должен сначала лайкнуть,а потом только появляется возможность поделится. Вот надо что-то подобное только для репоста
Александр
Gaius Cassius
Ну я бегло сча просмотрел апи вк, что то там совсем грустно
https://vk.com/dev/wall.getReposts
Александр
Ну я бегло сча просмотрел апи вк, что то там совсем грустно
https://vk.com/dev/wall.getReposts
Спасибо, тут я тоже уже был)) Этот вариант не подходит. Как я определю когда мне искать пост и тд? У фб например простая логика и js выглядит просто
$.ajaxSetup({ cache: false });
FB.init({
appId: '0000000000000000',
version: 'v3.2'
});
FB.ui({
method: 'share',
href: link,
},
function(response) {
if (response && !response.error_code) {
$.ajax({
url: '/assets/components/eventmanager/webconnector.php',
type: 'POST',
dataType: 'json',
data: {
action: 'system/fbshare',
share: 1,
id: +postId
},
success: function(data){
$(post).find('.share-count').text(data.object.html)
}
})
}
});
Александр
то есть при успешном шаринге я могу сразу отправить запрос на сервер, тоже самое надо для вк
Gaius Cassius
ФБ не вк)
Александр
ФБ не вк)
я это уже понял.)) Но блин для сраного лайка коллбек есть, а для репоста нет?
Gaius Cassius
А в тп не писал?)
Александр
ладно фиг с ним с коллбеком, может кто в курсе как поймать событие закрытия попапа с внешним УРЛ или никак из-за ограничений Origin?
Александр
то есть я делаю к примеру window.open('https://vk.com/share.php', '', 'toolbar=0, status=0, width=626, height=436') и как ловить событие закрытия этого попапа?
Gaius Cassius
Попробуй в модалке фрейм грузить, и отлавливай закрытие сожалели
Gaius Cassius
Модалки. Т9(
Евгений
мы сожалели, но продоллжали закрывать модалки, наблюдая за её мучениями, в то время, пока она скрывала свой затёмнённый слой души(
Anton
у pdoResources есть tpl, tpl_first, tpl_last и tpl_n. Какой у них приоритет, допустим если будет tpl_n3, всего 3 ресурса выведется и последнему отрисуется чанк tpl_last или tpl_n3?
Aleks
Александр
Попробуй в модалке фрейм грузить, и отлавливай закрытие сожалели
Все таки удалось решить таким образом
$('.vkshare').on('click', function(e) {
e.preventDefault()
var popup = window.open('https://vk.com/share.php?url=https://domain.com/?post=13','', "toolbar=0, status=0, width=626, height=436")
var intervalID = setInterval(interval,1000);
function interval() {
if (popup.closed === true) {
console.log('Запускаем код проверки')
clearInterval(intervalID)
}
}
})
Максим
Подскожите в чем логика. Не пойму что-то. В минишопе есть сниппет msCart. Там формируются данные (total.count - общее количество товаров, total.cost - общая стоимость, total.weight - общий вес), которые потом отображаются на странице. Так же есть php-класс msCartHandler, в котором есть метод status(). Там тоже формируются эти даныые. Так вот при загрузке страницы с корзиной эти данные берутся из сниппета, а если изменить количество товара (т.е. ajax-запрос), то данные берутся уже из класса! Зачем так сделано?
Даниил (Onix)
Товарищи, а есть возможность у стандартной галереи сделать такую же удобную загрузку фото как товары в минишопе? А то сейчас либо весь альбом можно в ТВ выбрать, либо одно фото из альбома.
Миша
Миша
Даниил (Onix)
ms2Gallery
вот спасибо, пойду смотреть
Максим
ms2Gallery
данные о товарах в корзине очевидно из класса msCartHandler $cart = $miniShop2->cart->get(); А суммарные данные цены, количества и веса считает сам. // Count total
$total['count'] += $entry['count'];
$total['cost'] += $entry['count'] * $entry['price'];
$total['weight'] += $entry['count'] * $entry['weight'];
Максим
Ой, не тому ответил
Андрей
Максим
Так сниппет откуда данные берет
данные о товарах в корзине очевидно из класса msCartHandler
$cart = $miniShop2->cart->get();
А суммарные данные цены, количества и веса считает сам.
// Count total
$total['count'] += $entry['count'];
$total['cost'] += $entry['count'] * $entry['price'];
$total['weight'] += $entry['count'] * $entry['weight'];
Максим
Так сниппет откуда данные берет
А в msCartHandler в методе status() есть тоже самое $status['total_count'] += $item['count'];
$status['total_cost'] += $item['price'] * $item['count'];
$status['total_weight'] += $item['weight'] * $item['count']; Может я что-то не так понимаю, но мне кажется как-то странно.
Aleksei
Максим
Aleksei
в сниппете перебираются позиции в корзине, чтобы отобразить их на фронте.
в методе статус перебираются позиции корзины, чтобы подбить итог.
гораздо логичнее в сниппете заодно посчитать итог, чем запускать ради него второй перебор
Максим
не в обиду. просто ощущение, что придраться захотелось
нет, просто кое-какую штуку на сайте. Для этого создал свой класс-обработчик корзины и переопределил метод status() как мне нужно. А получается еще нужно править сниппет. Если я правильно разобрался во всем. Сниппет то ведь нельзя наследовать и менять только часть логики. Хотя в том же сниппете есть обращение $status = $miniShop2->cart->status(); Вот я и не могу разобраться. Может так и надо. ПРосто я чего-то не то делаю.
Aleksei
можно создать свой сниппет
Aleksei
mscart.custom например. скопировать туда логику, подправить, что нужно, и использовать вместо стандартного
Максим
Максим
Aleksei
ну я не знаю. запили свой минишоп с моджонгом и гейшами, где все будет логично :)
Aleksei
Aleksei
костыль - это переписывать родной сниппет
Максим
Aleksei
Aleksei
я предлагаю свой сниппет вместо дефолтного
Aleksei
это ровно то же, что и класс-обработчик переопределить
Aleksei
Aleksei
при обновлении не затрется например
Aleksei
это разговор ни о чем
Aleksei
использование своих сниппетов заложено в самой основе модекс, если на то пошло. в комплекте есть базовые, если твой функционал отличается - пишешь вместо них свои. вот и всё
Баха Волков
Ух как жарко, а где флуд в "чатике"?
Баха Волков
Смотри-ка, прям по делу разговоры и споры)
Евгений
я просто кушать отходил
Alexey
Максим
Alexey
Евгений
Aleksei
жена(
оу. тогда да. тогда за едой надо в реале флудить, а не тут))
Евгений
"отходи ты от него хоть иногда (с)"
Евгений
Евгений
и это тоже цитата
iWatchYouFromAfar
Евгений
iWatchYouFromAfar
Евгений
компонент написал?
iWatchYouFromAfar
Евгений
и мне пиво ставь
iWatchYouFromAfar
ну так продавай)
он под клиента заточен сильно да и я не хочу продавать компоненты, скилл мал