Новости 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 Гость просматривают эту тему.
  • 16 Ответов
  • 21123 Просмотров
*

e-life

  • Осваиваюсь на форуме
  • 26
  • 0 / 1
Задача такая - есть несколько разделов на сайте.
Я хочу в зависимости от раздела вывести определенные картинки.

Нужно сделать это в шаблоне - в зависимости от текущего раздела вывести соответствующий кусок HTML.

На данный момент имею вот что:
ИД материала получаю через $menu = & JSite::getMenu(); далее через запрос в БД получаю ИД раздела.
Но это работает только если текущий материал есть в меню, а если сделать пункт меню категории (новости) и перейти на страницу новости, то этой страницы уже нет в меню.

То, что находил тут и вообще в инете не устроило. Так и не смог найти как получить ИД материала, категории и раздела прямо в шаблоне.
*

shprota

  • Давно я тут
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Не надо в меню лазать. Все получается прямо из запроса.
Нечто вроде такого:
Код: php
$option = JRequest::getString('option');
if($option == 'com_content')
{
  $cid = JRequest::getInt('catid');
  $id = JRequest::getInt('id');
}
*

e-life

  • Осваиваюсь на форуме
  • 26
  • 0 / 1
$cid = JRequest::getInt('catid'); - это ИД категории?
выдает 0.
И всетаки - как получить ИД раздела, скажем на странице со списком новостей, т.е. на странице категории?

Приведенный пример нерабочий. Кто сможет привести более внятный ответ. Думаю вопрос довольно конкретный задал.
« Последнее редактирование: 10.01.2010, 15:04:18 от e-life »
*

e-life

  • Осваиваюсь на форуме
  • 26
  • 0 / 1
тут http://forum.joomla.org/viewtopic.php?f=466&t=302292
нашел вот такое решение:
Код
function getSection($iId) {
      $database = &JFactory::getDBO();
      if(JRequest::getVar( 'view', 'NONE') == "frontpage"){
         return 1;
      }else if(JRequest::getVar( 'view', 'NONE') == "section"){
         return JRequest::getVar( 'id', 'NONE');
      }else if(Jrequest::getVar( 'view', 'NONE') == "category"){
         //echo 'hit category';
         $sql = "SELECT section FROM #__categories WHERE id = $iId ";
         $database->setQuery( $sql );
         $row=$database->loadResult();
         return $row;
      }else if(Jrequest::getVar( 'view', 'NONE') == "article"){
         //echo 'hit article';
         $sql = "SELECT sectionid FROM #__content WHERE id = $iId ";
         $database->setQuery( $sql );
         $row=$database->loadResult();
         return $row;
      }
   }
   $sectionID=getSection(JRequest::getInt('id', 'NONE'));

здесь я его немного подправил, чтобы на главной странице выдавало первый раздел.

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

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
:) оригинальное решение. Делать лишний запрос к БД.
Хотя поторопился. Почитал тему думал id материала только нужно.
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Нужно решить именно такую задачу. Как при помощи означенной функции в условие вносить id категории?
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

4Fun

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Сейчас мучаюсь, нужно получить id категории
вырос вот такой код, но он не работает если мы включаем ЧПУ, это из-за того что там не передаётся catid.
Код: php
$id=JRequest::getVar( 'id','' );
$catid=JRequest::getVar( 'catid','' );
$this->params->catid=$id;
if ($catid)
{$this->params->catid=$catid;}
else
{$this->params->catid=$id;}
*

4Fun

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Вот кстати финальная версия. Принцып работы очень прост, что позволяет работать даже с ЧПУ.
При желании её несложно доработать..
Код: php
	$id=JRequest::getVar( 'id','' );
if (JRequest::getVar('view')=='category')
{$this->params->catid=$id;}
if (JRequest::getVar('view')=='article') {
         $sql = "SELECT catid FROM #__content WHERE id = .$database->Quote($id) ";
         $database->setQuery( $sql );
         echo($database->loadResult());
}
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Сейчас мучаюсь, нужно получить id категории
вырос вот такой код, но он не работает если мы включаем ЧПУ, это из-за того что там не передаётся catid.
это как, не передается? :)
Цитировать
{$this->params->catid=$id;}
вообще не понятная строчка. Чего этим хотели добиться?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Вот кстати финальная версия. Принцып работы очень прост, что позволяет работать даже с ЧПУ.
При желании её несложно доработать..
Код: php
	$id=JRequest::getVar( 'id','' );
if (JRequest::getVar('view')=='category')
{$this->params->catid=$id;}
if (JRequest::getVar('view')=='article') {
         $sql = "SELECT catid FROM #__content WHERE id = .$database->Quote($id) ";
         $database->setQuery( $sql );
         echo($database->loadResult());
}
код вообще бредовый :)
Код: php
if (JRequest::getVar('view') == 'category') {
  $id=JRequest::getInt('id');
} else if (JRequest::getVar('view')=='article') {
  $id=JRequest::getInt('catid');
}
echo 'ID category - '.$id;
*

maestra

  • Захожу иногда
  • 80
  • 6 / 1
Мучает аналогичная проблема. Разница в том, что надо в заголовке статьи публиковать ее ID, но только в том случае если она находится в определенной категории (идентифицировать тоже надо по ID`у категории).

Думаю, что делать это надо не в шаблоне, а непосредственно в com_content. Проблема в том, что не знаю как получить IDы статьи и категории (пытаюсь изучать API Joomla 1.5, но из-за слабости знания английского языка дело продвигается очень медленно...)

Поможете?
*

e-life

  • Осваиваюсь на форуме
  • 26
  • 0 / 1
Код: php
  $id=JRequest::getInt('catid');

При включеном СЕО не работает!
А очень хотелось бы.
Получается только через БД чтоли?
*

vovchikku

  • Захожу иногда
  • 407
  • 1 / 0
парни, удалось решить проблему вывода разных модулей для разного материала если SEO включено?

smokerman, скажите ваш код подойдет для этой задачи? если да, то куда и как вставить вывод определенного модуля?
Цитировать
if (JRequest::getVar('view') == 'category') {
  $id=JRequest::getInt('id');
} else if (JRequest::getVar('view')=='article') {
  $id=JRequest::getInt('catid');
}
echo 'ID category - '.$id;
 
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
vovchikku может это поможет, но не уверен :)
http://joomlaforum.ru/index.php/topic,132312.0.html
*

format1981

  • Новичок
  • 4
  • 0 / 0
Если еще не разобрались с проблемой, то вот ответ

echo $_GET['id'];
echo $_GET['catid'];

работает с seo

вот источник http://forum.joomla.org/viewtopic.php?f=431&t=320868
*

vovchikku

  • Захожу иногда
  • 407
  • 1 / 0
проще поставить advanced module manager
*

LadaDed

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Это нужно делать в default.php в category или куда там переадресация
$this->category->id
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как через AJAX запрос получить только данные из функции, без HTML кода?

Автор lottis

Ответов: 7
Просмотров: 4273
Последний ответ 26.03.2012, 02:40:54
от lottis
Как получить ID для каждого выводимого модуля на странице

Автор enshtein

Ответов: 6
Просмотров: 6508
Последний ответ 12.01.2012, 08:54:19
от enshtein
Параметры материала вызвать в модуле.

Автор SnowB

Ответов: 1
Просмотров: 1914
Последний ответ 07.07.2011, 19:56:32
от Виталик
Событие в плагине перед удалением материала (статьи)

Автор enshtein

Ответов: 4
Просмотров: 2583
Последний ответ 29.05.2010, 01:32:58
от zxs
Как в модели получить объект другой модели?

Автор Виталик

Ответов: 2
Просмотров: 2222
Последний ответ 05.01.2010, 21:31:48
от Виталик