Новости Joomla

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения
GitHub расширения

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 1861 Просмотров
*

voron8787

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Ребята помогите пожалуйста.
Мне нужно чтобы счетчик начинал отсчитывать ежедневно в 8 часов вечера и заканчивал в это же время. И потом повторялся.
код индекса
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<script language="Javascript" type="text/javascript" src="js/jquery-1.4.1.js"></script>
<script language="Javascript" type="text/javascript" src="js/jquery.lwtCountdown-0.9.5.js"></script>
<script language="Javascript" type="text/javascript" src="js/misc.js"></script>
<link rel="Stylesheet" type="text/css" href="style/dark.css"></link>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>

<div id="container">
<!-- Начало панели счетчика -->
<div id="countdown_dashboard">
<div class="dash weeks_dash">
<span class="dash_title">недель</span>
<div class="digit">0</div>
<div class="digit">0</div>
</div>

<div class="dash days_dash">
<span class="dash_title">дней</span>
<div class="digit">0</div>
<div class="digit">0</div>
</div>

<div class="dash hours_dash">
<span class="dash_title">часов</span>
<div class="digit">0</div>
<div class="digit">0</div>
</div>

<div class="dash minutes_dash">
<span class="dash_title">минут</span>
<div class="digit">0</div>
<div class="digit">0</div>
</div>

<div class="dash seconds_dash">
<span class="dash_title">секунд</span>
<div class="digit">0</div>
<div class="digit">0</div>
</div>

</div>
<!-- Завершение панели счетчика -->


<script language="javascript" type="text/javascript">
jQuery(document).ready(function() {
$('#countdown_dashboard').countDown({
targetDate: {
'day': 21,
'month': 12,
'year': 2014,
'hour': 17,
'min': 34,
'sec': 15 }
});

});
</script>

</div>
</body>

</html>

код первого ява скрипта misc.js
Код
function email_focus() {
if ($(this).val() == 'your@email.com') {
$(this).val('')
$(this).removeClass('faded');
}
}

function email_blur() {
if ($(this).val() == '') {
$(this).val('your@email.com')
$(this).addClass('faded');
}
}

function subscribe_submit() {
email = $('#email_field').val();

$.post('subscribe.php?json=1', $('#subscribe_form').serialize(), subscribe_result, 'json');
$('#subscribe_button').attr("disabled","disabled");
$('.form_message').fadeOut('fast');
$('#loading').fadeIn('fast');
return false;
}

function subscribe_result(data) {
$('#loading').hide();
if (data.error) {
display_message(data.error);
} else {
display_message(data.info, 'info')
}
$('#subscribe_button').removeAttr("disabled");
}

function display_message(msg, type) {

if (!type) type = 'error';

if (type == 'error') {
$('#error_message').html(msg).fadeIn('slow');
setTimeout('hide_error()', 4000);
} else {
$('#error_message').hide();
$('#info_message').html(msg).fadeIn('slow');
}
}

function hide_error() {
$('#error_message').fadeOut('slow');
}
код второго яваскрипта jquery.lwtCountdown-0.9.5
Код
/*!
 * jQuery Countdown plugin v0.9.5
 * http://www.littlewebthings.com/projects/countdown/
 *
 * Copyright 2010, Vassilis Dourdounis
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
(function($){

$.fn.countDown = function (options) {

config = {};

$.extend(config, options);

diffSecs = this.setCountDown(config);

$('#' + $(this).attr('id') + ' .digit').html('<div class="top"></div><div class="bottom"></div>');
$(this).doCountDown($(this).attr('id'), diffSecs, 500);

if (config.onComplete)
{
$.data($(this)[0], 'callback', config.onComplete);
}
if (config.omitWeeks)
{
$.data($(this)[0], 'omitWeeks', config.omitWeeks);
}
return this;

};

$.fn.stopCountDown = function () {
clearTimeout($.data(this[0], 'timer'));
};

$.fn.startCountDown = function () {
this.doCountDown($(this).attr('id'),$.data(this[0], 'diffSecs'), 500);
};

$.fn.setCountDown = function (options) {
var targetTime = new Date();

if (options.targetDate)
{
targetTime.setDate(options.targetDate.day);
targetTime.setMonth(options.targetDate.month-1);
targetTime.setFullYear(options.targetDate.year);
targetTime.setHours(options.targetDate.hour);
targetTime.setMinutes(options.targetDate.min);
targetTime.setSeconds(options.targetDate.sec);
}
else if (options.targetOffset)
{
targetTime.setDate(options.targetOffset.day + targetTime.getDate());
targetTime.setMonth(options.targetOffset.month + targetTime.getMonth());
targetTime.setFullYear(options.targetOffset.year + targetTime.getFullYear());
targetTime.setHours(options.targetOffset.hour + targetTime.getHours());
targetTime.setMinutes(options.targetOffset.min + targetTime.getMinutes());
targetTime.setSeconds(options.targetOffset.sec + targetTime.getSeconds());
}

var nowTime = new Date();

diffSecs = Math.floor((targetTime.valueOf()-nowTime.valueOf())/1000);

$.data(this[0], 'diffSecs', diffSecs);

return diffSecs;
};

$.fn.doCountDown = function (id, diffSecs, duration) {
$this = $('#' + id);
if (diffSecs <= 0)
{
diffSecs = 0;
if ($.data($this[0], 'timer'))
{
clearTimeout($.data($this[0], 'timer'));
}
}

secs = diffSecs % 60;
mins = Math.floor(diffSecs/60)%60;
hours = Math.floor(diffSecs/60/60)%24;
if ($.data($this[0], 'omitWeeks') == true)
{
days = Math.floor(diffSecs/60/60/24);
weeks = Math.floor(diffSecs/60/60/24/7);
}
else
{
days = Math.floor(diffSecs/60/60/24)%7;
weeks = Math.floor(diffSecs/60/60/24/7);
}

$this.dashChangeTo(id, 'seconds_dash', secs, duration ? duration : 800);
$this.dashChangeTo(id, 'minutes_dash', mins, duration ? duration : 1200);
$this.dashChangeTo(id, 'hours_dash', hours, duration ? duration : 1200);
$this.dashChangeTo(id, 'days_dash', days, duration ? duration : 1200);
$this.dashChangeTo(id, 'weeks_dash', weeks, duration ? duration : 1200);

$.data($this[0], 'diffSecs', diffSecs);
if (diffSecs > 0)
{
e = $this;
t = setTimeout(function() { e.doCountDown(id, diffSecs-1) } , 1000);
$.data(e[0], 'timer', t);
}
else if (cb = $.data($this[0], 'callback'))
{
$.data($this[0], 'callback')();
}

};

$.fn.dashChangeTo = function(id, dash, n, duration) {
$this = $('#' + id);
d2 = n%10;
d1 = (n - n%10) / 10

if ($('#' + $this.attr('id') + ' .' + dash))
{
$this.digitChangeTo('#' + $this.attr('id') + ' .' + dash + ' .digit:first', d1, duration);
$this.digitChangeTo('#' + $this.attr('id') + ' .' + dash + ' .digit:last', d2, duration);
}
};

$.fn.digitChangeTo = function (digit, n, duration) {
if (!duration)
{
duration = 800;
}
if ($(digit + ' div.top').html()!= n + '')
{

$(digit + ' div.top').css({'display': 'none'});
$(digit + ' div.top').html((n ? n : '0')).slideDown(duration);

$(digit + ' div.bottom').animate({'height': ''}, duration, function() {
$(digit + ' div.bottom').html($(digit + ' div.top').html());
$(digit + ' div.bottom').css({'display': 'block', 'height': ''});
$(digit + ' div.top').hide().slideUp(10);


});
}
};

})(jQuery);



Ребят выручайте борюсь с этим битые сутки так и не нашел примера кода в интернете.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Мне нужно чтобы счетчик начинал отсчитывать ежедневно в 8 часов вечера и заканчивал в это же время.
Это как? Начал и сразу закончил? То есть вообще не будет работать?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
сложно говорите молодой человек... словно вы в другом мире..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

voron8787

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Извиняюсь за неправильное определение то что хочу.
Помогите пожалуйста поправить код чтобы счетчик начинал отсчет в 8 часов вечера, отсчитывал 24 часа, и потом начинал отсчет заново (на след день) и потом заново
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Извиняюсь за неправильное определение то что хочу.
Помогите пожалуйста поправить код чтобы счетчик начинал отсчет в 8 часов вечера, отсчитывал 24 часа, и потом начинал отсчет заново (на след день) и потом заново
аааа, так бы сразу и сказали... тут подумать надо...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

voron8787

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Извиняюсь за неправильное определение задачи. Который день бьюсь не могу найти решение, помогите пожалуйста
аааа, так бы сразу и сказали... тут подумать надо...
*

voron8787

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Нашел вот такую интересную вещь.

Цитировать
Оба метода тайминга работают примерно одинаково: они выжидают определенное количество времени перед исполнением кода, который им посылается. Синтаксис вызова обеих функций тоже практически один и тот же:

1 setTimeout(<code to run>, <number of milliseconds to wait>);
2  setInterval(<code to run>, <number of milliseconds to wait>);

Интересно в нужном направлении рою?
*

voron8787

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
нашел вот такую штуку но как привязать к коду счетчика не пойму
Код
<p id="timer"></p>

<script>
var outTimer = document.getElementById('timer'),
secEnd = 20 * 3600, // секунд до 20:00
serDay = 24 * 3600; // секунд в сутках

setInterval(function () {
 
  var curDate = new Date(),
  curSec = curDate.getHours() * 3600 + curDate.getMinutes() * 60 + curDate.getSeconds(), // прошло секунд в этих сутках
  diff = secEnd - curSec;
 
  if (diff < 0) { // если сейчас больше 20:00
diff = serDay + diff; // разница с сек. в сутках
  }

  outTimer.innerHTML = 'До 20:00 осталось ' + Math.floor(diff / 3600) + ' час. ' +  Math.floor(diff / 60) % 60 + ' мин.';
 
}, 1000);
</script>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Подредактируйте скрипт в index:
Код: javascript
<script language="javascript" type="text/javascript">
jQuery(document).ready(function() {
var today=new Date();
$('#countdown_dashboard').countDown({
targetDate: {
'day': today.getDate(),
'month': today.getMonth()+1,
'year': today.getFullYear(),
'hour': 20,
'min': 00,
'sec': 00 }
});

});
</script>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

voron8787

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Помогло спасиб большое, забавно конечно но на выходе получил 2 счетчика, если кому надо могу скинуть второй счетчик "исходники".
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Если это то, о чем я думаю, то никому они не нужны. Не злоупотребляйте этим счетчиком, он может отпугнуть потенциальных клиентов. Дураков мало. Я, например, сразу покидаю такие сайты, посчитав, что меня пытаются обмануть.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
не знаю - о чем вы думаете, но, я вообще не посещаю сайты от которых пахнет дилетантством..) Бывает в выдаче откроешь несколько сайтов сразу, а потом, только перешел на вкладку, сразу закрыл, перешел - закрыл... естественный отбор..)))

И хочу функцию - отметить сайт, и он больше никогда не показывался..)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с логином на сайт через Iphone

Автор AdmiralSFF

Ответов: 4
Просмотров: 4144
Последний ответ 13.08.2022, 13:19:41
от AdmiralSFF
Проблема с переносом Joomla сайта с хостинга на денвер

Автор 62411

Ответов: 4
Просмотров: 4705
Последний ответ 21.02.2022, 20:22:11
от arma
Проблема Adobe Flash Player

Автор MamontFirst

Ответов: 5
Просмотров: 2409
Последний ответ 23.01.2021, 21:25:23
от MamontFirst
Разобраться с мобильной версией

Автор Pepperoni

Ответов: 1
Просмотров: 1269
Последний ответ 19.12.2020, 09:53:38
от Physicist
Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 4494
Последний ответ 12.07.2020, 12:46:06
от NataliS