Perimetr
Звоните нам:
+7 (495)364-0015
Пн-Пт 9-18 (мск)

ДОСТУПНО

OSNOVO POE инжекторы

ДЛЯ ПРОФЕССИОНАЛОВ

sw-20800

ВЫГОДНО



ТЕСТ-ДРАЙВ

Оборудование SC&T
при -40°

Система Orphus
 

Новости RSS 2.0

Выгрузка для клиентов

{source}

<?php


defined('_JEXEC') or die;

$user = &JFactory::getUser();
$acl = &JFactory::getACL();

// Установить id нужной группы
$required_group_id = 9;

if (!$user->guest) {
// если пользователь не гость, то получаем группу пользователя
$groups = $user->groups;

// Проверяем, что пользователь принадлежит к необходимой группе
if (in_array($required_group_id, $groups)) {
// Префикс названия таблиц

   $db_pre = '#__';

// Грузим данные о категориях

$db = &JFactory::getDBO();

  $q = 'SELECT category_id, category_parent_id, `name_ru-RU` FROM '.$db_pre.'jshopping_categories ORDER BY ordering';

$db->setQuery($q);

// Выполняем SQL-запрос и получаем данные
$categories_data = $db->loadAssocList();

// Сортировка по подкатегориям
function recursive_options($temp_options, $level, $parent, &$categories) {
$class_done = false;
foreach($temp_options as $option) {
if ($option[2] == $parent) {
$level_string = '';

// Родительским элементам присваиваем класс css
if (!$class_done) {
for ($i = 0; $i < $level - 1; $i++) {
$level_string .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}
$temp = array_pop($categories);
$categories[] = JHTML::_('select.option', $temp->id, $level_string . $temp->title, array('option.key' => 'id', 'option.text' => 'title', 'option.attr' => 'class', 'attr' => 'parent_option', 'disable' => true));
$class_done = true;
}
for ($i = 0; $i < $level; $i++) {
$level_string .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}
$categories[] = JHTML::_('select.option', $option[0], $level_string . $option[1], 'id', 'title');
recursive_options($temp_options, $level+1, $option[0], $categories, $is_parent);
}
}
}

$results = $categories_data;
$categories = array();
if (count($results)) {
$temp_options = array();
foreach($results as $item) { // Формируем нужный вид массива
array_push($temp_options, array($item["category_id"], $item["name_ru-RU"], $item["category_parent_id"]));
}
foreach($temp_options as $option) {
if ($option[2] == 0) {
$categories[] = JHTML::_('select.option', $option[0], $option[1], 'id', 'title');
recursive_options($temp_options, 1, $option[0], $categories);
}
}
}

// Массив отсортированных объектов сохраняем в сессию
$session = JFactory::getSession();
$session->set('categories', $categories);

?>
<div id="main">
<div class="form_area">
<h2>Форма выгрузки</h2>
<form action="/?tmpl=user_export_action" method="post">
<div class="radio_area">
<label style="display: block;"><input type="radio" name="cat_radio" id="cat_radio_all" value="all" checked>Выгружать все категории</label>
<label style="display: block;"><input type="radio" name="cat_radio" id="cat_radio_check" value="check">Выбрать категории для выгрузки
(можно выбрать одну или несколько категорий, удерживая Ctrl)</label>
</div>
<div class="select_area">
<?php echo JHTML::_('select.genericlist', $categories, 'list-categories[]', 'class="cat_select" multiple="multiple" size="20" disabled', 'id', 'title'); ?>
</div>
<div class="extra_area">
<h3>
По умолчанию выгружается:
</h3>
<ul>
<li>название товара</li>
<li>категория товара</li>
<li>краткое описание</li>
</ul>
<h3>
Выгружать дополнительно:
</h3>
<label style="display: block;"><input type="checkbox" name="e1">Код товара (артикул)</label>
<label style="display: block;"><input type="checkbox" name="e2">Полное описание</label>
<label style="display: block;"><input type="checkbox" name="e3">Характеристики (параметр заметно увеличивает время выгрузки!)</label>
<label style="display: block;"><input type="checkbox" name="e4">Тех. доки (имена файлов)</label>
<label style="display: block;"><input type="checkbox" name="e5">Цена</label>
<h3>
Формат файла:
</h3>
<label><input type="radio" name="file_radio" value="csv" checked>.csv</label>
<label><input type="radio" name="file_radio" value="xml">.xml</label>
<div class="button_area">
<input type="submit" value="Выгрузка">
</div>
</div>
</form>
</div>
</div>
<script>
var update_select = function () {
if (jQuery("#cat_radio_check").is(":checked")) {
jQuery('.cat_select').prop('disabled', false);
}
else {
jQuery('.cat_select').prop('disabled', 'disabled');
}
};
jQuery(update_select);
jQuery("#cat_radio_all").change(update_select);
jQuery("#cat_radio_check").change(update_select);
</script>
<?php
} else {
// Вывод для user'ов не входящих в группу
echo('<h2>Функция не доступна для данной категории пользователя!</h2>');
}

} else {
// Вывод для неавторизированных на сайте
echo('<h2>Авторизируйтесь на сайте для доступа к форме!</h2>');
}
?>
{/source}


 
 
ПОДПИШИТЕСЬ НА НОВОСТИ
Ваше имя*:
Ваш E-Mail*:
пользовательское соглашение

АКТУАЛЬНО


OSNOVАТЕЛЬНО!


НЕОБХОДИМО



ПОЧИТАЙ!





ООО «ЛАТЕОС»© 2018—2019. Копирование материалов разрешено только с публикацией активной прямой и индексируемой ссылки на этот сайт.