В последнее время приходится работать с большим кол-вом разнообразных cms, поэтому решил для себя оставлять маленькие простенькие подсказочки..
Работа с БД
Вставка элемента в БД:
$db =& JFactory::getDBO(); $obj = new stdClass(); $obj->param1 = $param1; $obj->param2 = $param2; $db->insertObject('#__table_name', $obj);
Работа с сессиями
Описывать тут нечего
$sess = JFactory::getSession(); $sess->set('param', true); $sess->get('param');
Работа с почтой
$mailer =& JFactory::getMailer(); $config =& JFactory::getConfig(); $sender = array( $config->getValue( 'config.mailfrom' ), $config->getValue( 'config.fromname' ) ); $mailer->setSender($sender); $mailer->addRecipient($_POST['email']); $mailer->setSubject('Order details'); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($body); $send =& $mailer->Send(); if ( $send !== true ) { echo 'Error sending email! Please contact wish us.'; } else { echo 'Order details sent to your e-mail'; }
Примечание: в качестве получателей можно указывать массив с перечнем e-mail.
Меню
Получаем название текущего пункта меню :
<?php $currentMenuName = JSite::getMenu()->getActive()->name; ?>
Получаем ID текущего пункта меню:
<?php $currentMenuId = JSite::getMenu()->getActive()->id; ?>
Получаем статус публикации текущего пункта меню, если опубликован то возвращается значение «1»:
<?php $currentMenuStatus = JSite::getMenu()->getActive()->published; ?>
Доставляем URL (не SEF) для текущего пункта меню:
<?php $currentMenuLink = JSite::getMenu()->getActive()->link ;?>
Получаем ID родителя текущего пункта меню (для верхнего уровня и на домашней странице значение будет 0):
<?php $currentMenuParent = JSite::getMenu()->getActive()->parent; ?>
Получаем значение уровня доступа для текущего пункта меню (Public = 0, Registered = 1, Special= 2):
<?php $currentMenuAccess = JSite::getMenu()->getActive()->access; ?>
Разное
Вставка визуального редактора в любом компоненте админ. панели:
$editor =& JFactory::getEditor(); echo $editor->display('content', $this->content, '550', '400', '60', '20', false);
Получение данных текущего пользователя
$user =& JFactory::getUser();
Загружаем модель того или иного компонента в файле view.html.php:
$model = $this->getModel();
эт правильно 🙂