Самодельная форма добавления элемента на API Битрикс

RSS
Самодельная форма добавления элемента на API Битрикс
 
Самодельная форма добавления элемента на API Битрикс

Компонент iblock.element.add.form написан таким образом, что вы не сможете (не попотев изрядно и не используя js) как угодно переставлять поля ввода. Например сделать заполненеие текста анонса до ввода разделов. Или переставить чекбоксы свойств до ввода названия (хотя это глупо, но вы не сможжете сделать такую глупость даже если захотите)
 
Добрый день. Благодарю за действительно понятные уроки по битрикс.
у меня вопрос к вашему уроку
"Самодельная форма добавления элемента на API Битрикс"
Собственно сам вопрос: как сделать вывод не по ID  а по ЧПУ  
 
Цитата
Сергей Манник написал:
Добрый день. Благодарю за действительно понятные уроки по битрикс.
у меня вопрос к вашему уроку
"Самодельная форма добавления элемента на API Битрикс"
Собственно сам вопрос: как сделать вывод не по ID  а по ЧПУ
Просто добавьте в init.php обработчик события, что бы при добавлении элемента создавал ему символьный код

Типа того
Код
<?
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyClass40", "OnBeforeIBlockElementAddHandler"));
class MyClass40
{
    function OnBeforeIBlockElementAddHandler(&$arFields)
    {
        $name = $arFields["NAME"];
        $arParams = array("replace_space"=>"-","replace_other"=>"-");
        $trans = Cutil::translit($name,"ru",$arParams);
        $arFields["CODE"] = $trans;
    }
}
?>
 
[COLOR=#2067b0]а если точнее[/COLOR]
Цитата
Сергей Манник пишет:
Добрый день. Благодарю за действительно понятные уроки по битрикс.
у меня вопрос к вашему уроку
"Самодельная форма добавления элемента на API Битрикс"
Собственно сам вопрос: как сделать вывод не по ID а по ЧПУ
а если точнее то при создании не происходит генерация символьного кода а только ID
 
спасибо за оперативный ответ. все работает.
И вопрос не в тему:


Когда планируете дальнейшие видео по созданию инфопортала?
 
подскажите ответ еще вот на такой вопрос.
руководство захотело добавлять новости в подробное описание не через textarea а через визуальный редактор такой же как и комментарий к записи. если хотя бы в общих чертах опишите как это реализовать буду признателен.
 
Цитата
Сергей Манник написал:
подскажите ответ еще вот на такой вопрос.
руководство захотело добавлять новости в подробное описание не через textarea а через визуальный редактор такой же как и комментарий к записи. если хотя бы в общих чертах опишите как это реализовать буду признателен.
Просто берете любой визуальный редактор редактор и интегрируете его в этот вывод. Но зачем вообще новости так добавлять? Их проще через стандартную форму (компонент).  
 
Здравствуйте.
Как вывести свойства из раздела инфоблока? То есть в инфоблоке "объявления" разделы -  мото, экипировка. Для каждого раздела разные свойства. Как сделать чтоб при выборе раздела выводились свойства именно этого раздела? Спасибо
 
Цитата
Motocross Inua написал:
Здравствуйте.
Как вывести свойства из раздела инфоблока? То есть в инфоблоке "объявления" разделы -  мото, экипировка. Для каждого раздела разные свойства. Как сделать чтоб при выборе раздела выводились свойства именно этого раздела? Спасибо
Это достаточно сложно, просто так, в формате текстового описания не объяснить. Более того, боюсь что и в формате видео не объяснить.
 
Здравствуйте, Михаил!
1) Подскажите как организована обработка событий  формы стандартного компонента main.feedback?
2) какой путь будет более правильным: добавить нужную мне функциональность в стандартный обработчик или написать свой собственный обработчик так, как показано в этом уроке?
 
Добрый день.
Огромная благодарность за Ваши труды по ведению данного сайте, он очень сильно помогает начинающим работать с платформой Битрикс. Я не так давно стал заниматься созданием сайтов. И очень заинтересовался данной платформой. Ваши статьи очень в этом помогаю.
Но я пытался сделать форму по данной статье и у меня не очень получилось. Данные передаются, но выдает что "Что-то пошло не так". Если не сложно не могли бы мне помочь с данной проблемой.
 
У меня не получается вставить части кодов из необходимых файлов, и с позволения приложу на них ссылки со своего Гугл Диска. add_form_page.php и add_form_result.php
 
P.S.: Я разобрался, вывел ошибки и решил их. Извиняюсь, если Вас отвлек.
 
Цитата
Владислав Кузнецов написал:
P.S.: Я разобрался, вывел ошибки и решил их. Извиняюсь, если Вас отвлек.
Не успел ответить! Но это хорошо- когда задачки решаются самостоятельно :)
 
Цитата
Дмитрий Гайчук пишет:
Здравствуйте, Михаил!
1) Подскажите как организована обработка событий формы стандартного компонента main.feedback?
2) какой путь будет более правильным: добавить нужную мне функциональность в стандартный обработчик или написать свой собственный обработчик так, как показано в этом уроке?
Добрый день, Михаил. Конкретизирую вопрос. При кастомизиции компонента main.faadback скопировал шаблон с помощью команд меню ( не файловым менеджером), при этом файл component.php остался в папке с компонентами Битрикс. Таким образом, получилось, что форма находится в папке шаблона сайта, а обработчик событий формы остался в папке с компонентами Битрикс и пришлось изменять его там. Это нормальная ситуация или я что-то неправильно сделал?
 
Цитата
Дмитрий Гайчук написал:
Цитата
Дмитрий Гайчук  пишет:
Здравствуйте, Михаил!
1) Подскажите как организована обработка событий формы стандартного компонента main.feedback?
2) какой путь будет более правильным: добавить нужную мне функциональность в стандартный обработчик или написать свой собственный обработчик так, как показано в этом уроке?
Добрый день, Михаил. Конкретизирую вопрос. При кастомизиции компонента main.faadback скопировал шаблон с помощью команд меню ( не файловым менеджером), при этом файл component.php остался в папке с компонентами Битрикс. Таким образом, получилось, что форма находится в папке шаблона сайта, а обработчик событий формы остался в папке с компонентами Битрикс и пришлось изменять его там. Это нормальная ситуация или я что-то неправильно сделал?
Добрый. Нет не нормальная, нельзя менять компоненты в ядре. Если сильно надо- то нужно скопировать его в свое пространство имен и править там. По сути, просто сделать свой компонент- на основе штатного.
 
пробовал скопировать component.php в свое пространство имен, туда же где и весь компонент, но переменная POST_FORM_ACTION_URI упорно указывает на component.php из ядра.

Значит нужно прописать путь к обработчику вручную и добавить в начало этого обработчика:
<?
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php";);
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";);
?>
а дальше логику обработки события. Правильно?
 
некорректно выразился: "POST_FORM_ACTION_URI указывает на  component.php из ядра".
При использовании  POST_FORM_ACTION_URI  вызывается component.php из ядра
 
Добрый день. Столкнулся с проблемой. Задача: есть три группы пользователей: администраторы, руководители и менеджеры. Менеджер должен редактировать только свой элемент инфоблока, руководители и администраторы должны редактировать элементы инфоблока всех менеджеров. В компоненте делаю проверку:


Код
         $arGroups = CUser::GetUserGroup($USER->GetID());
         for ($i=0; $i < count($arGroups); $i++) if ($arGroups[$i] == 1 || $arGroups[$i] == 6) $groupAcsess = true; 

         if ($groupAcsess == true){
            $arFilter["PROPERTY_RESORT_ID"] = $_SESSION['RESORT_ID'];
         }
         else if ($arParams["ELEMENT_ASSOC"] == "PROPERTY_ID" && intval($arParams["ELEMENT_ASSOC_PROPERTY"]) > 0 && in_array($arParams["ELEMENT_ASSOC_PROPERTY"], $arPropertyIDs))
         {
            $arFilter["PROPERTY_".$arParams["ELEMENT_ASSOC_PROPERTY"]] = $USER->GetID();
         }
         else
         {
            $arFilter["CREATED_BY"] = $USER->GetID();
         }
 
1 и 6 - это группы "администраторы" и "руководители" соответственно. Всё хорошо. Для них выводятся все элементы, для менеджера - только тот, где стоит "привязка к пользователю по свойству инфоблока". Но при редактировании элемента инфоблока через форму, это свойство перезаписывается на текущего пользователя, который редактирует элемент. Соответственно, если элемент отредактировал администратор или руководитель, для менеджера он становится недоступным.

Не подскажете, в какую сторону копать?
 
Разобрался. В компоненте надо закомментировать кусок

Код
/*if ($arParams["ELEMENT_ASSOC"] == "PROPERTY_ID")
            $arUpdatePropertyValues[$arParams["ELEMENT_ASSOC_PROPERTY"]] = $USER->GetID();
         $arUpdateValues["MODIFIED_BY"] = $USER->GetID();

         $arUpdateValues["PROPERTY_VALUES"] = $arUpdatePropertyValues;*/
 
 
Цитата
Антон Шаповал написал:
Разобрался. В компоненте надо закомментировать кусок
Код
 /*if ($arParams["ELEMENT_ASSOC"] == "PROPERTY_ID")
            $arUpdatePropertyValues[$arParams["ELEMENT_ASSOC_PROPERTY"]] = $USER->GetID();
         $arUpdateValues["MODIFIED_BY"] = $USER->GetID();

         $arUpdateValues["PROPERTY_VALUES"] = $arUpdatePropertyValues;*/
  
Не успел ответить. Но да, отрубить перепривязку.
 
Добрый день.
Вопрос по уроку: а как быть с множественной передачей файлов? Скажем, хочу я сделать галерею, отправляю через файловый инпут 4 картинки, он [скрипт] мне в отладке их демонстрирует, но в инфоблоке они не появляются :С
 
Цитата
Desperial написал:
Добрый день.
Вопрос по уроку: а как быть с множественной передачей файлов? Скажем, хочу я сделать галерею, отправляю через файловый инпут 4 картинки, он [скрипт] мне в отладке их демонстрирует, но в инфоблоке они не появляются :С
По идее проблем не должно быть. Уже делал форму которая отправляет картинки в множественное свойство "Файл" MORE_PHOTO. Поковыряйте еще, тут особо и подсказать нечего, там ни какой хитрости нет
 
На самом деле, кое что есть.

Сразу проясню, я немного не договорил: я подавал картинки в форму через инпут с атрибутом multiple. Проблема в том, что он создает массив $_FILES такого рода:
Код
Array
(
    [gal] => Array
        (
            [name] => Array
                (
                    [0] => kelemvortemple.png
                    [1] => laughgob.png
                    [2] => phlan.jpg
                    [3] => road.png
                    [4] => rork.jpg
                    [5] => Shadows of Moonsea.jpg
                )

            [type] => Array
                (
                    [0] => image/png
                    [1] => image/png
                    [2] => image/jpeg
                    [3] => image/png
                    [4] => image/jpeg
                    [5] => image/jpeg
                )

            [tmp_name] => Array
                (
                    [0] => %путь_ко_временному_файлу%/php9tn6RX
                    [1] => %путь_ко_временному_файлу%/phpoXHr1c
                    [2] => %путь_ко_временному_файлу%/phpPtBQas
                    [3] => %путь_ко_временному_файлу%/phpEJ5ukH
                    [4] => %путь_ко_временному_файлу%/phpeiYguW
                    [5] => %путь_ко_временному_файлу%/phpv8h6Db
                )

            [error] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )

            [size] => Array
                (
                    [0] => 178797
                    [1] => 169764
                    [2] => 667303
                    [3] => 369171
                    [4] => 135182
                    [5] => 73339
                )

        )

)
Понятно, что битрикс не в состоянии прочитать разбитый таким образом массив. Но и в стандартном наборе нет класса, который самостоятельно сформировал бы массивы под каждое изображение. Выкручивался таким образом:
Код
$i=count($_FILES['gal']);
for ($c=0;$c<=$i;$c++) {
$PROP['gal'][$c]['name']=$_FILES['gal']['name'][$c];
$PROP['gal'][$c]['type']=$_FILES['gal']['type'][$c];
$PROP['gal'][$c]['tmp_name']=$_FILES['gal']['tmp_name'][$c];
$PROP['gal'][$c]['error']=$_FILES['gal']['error'][$c];
$PROP['gal'][$c]['size']=$_FILES['gal']['size'][$c];
};
Сейчас всё работает. Оставлю это здесь, мало ли, кто занимается таким-же мазохизмом и испытал те же проблемы С:
Изменено: Desperial - 04.03.2017 01:56:59
 
подскажите с формой а то я немного запутался:
в add_form_result.php мы получаем id раздела записанный в $fields["IBLOCK_SECTION"] как получить его символьный код для последующего редиректа в раздел выбранный пользователем при выборе в форме add_form_page.php
 
Добрый день. очередной затуп с формой...по Вашему руководству вывел и кастомизировал под себя все просто и чертовски удобно за это отдельное СПАСИБО.
как навесить на форму отправку по почтовому шаблону? и еще 1 вопрос он больше относиться к защите от спамеров ссылками:

есть код который просто вырезает ссылки из текста
$detail_value = $_REQUEST['description_detail'];
$detail_value =  preg_replace('@((https?://)?([-\w]+\.[-\w\.]+)+\w( :\ d+)?(/([-\w/_\.]*(\?\S+)?)?)*)@', '', $detail_value);
$fields = array(
"DETAIL_TEXT"    => $detail_value
);
но проблема в том что там как правило кроме ссылки 2-3 слова и весь раздел куда добавляются данные с формы превращается в помойку....

можно как то сделать проверку на наличие ссылок в тексте и если оные имеются просто не пропускать на запись а выводить какой нибудь текст???
 
Цитата
Сергей Манник написал:
Добрый день. очередной затуп с формой...по Вашему руководству вывел и кастомизировал под себя все просто и чертовски удобно за это отдельное СПАСИБО.
как навесить на форму отправку по почтовому шаблону? и еще 1 вопрос он больше относиться к защите от спамеров ссылками:

есть код который просто вырезает ссылки из текста
$detail_value = $_REQUEST['description_detail'];
$detail_value =  preg_replace('@((https?://)?([-\w]+\.[-\w\.]+)+\w(  d+)?(/([-\w/_\.]*(\?\S+)?)?)*)@', '', $detail_value);
$fields = array(
"DETAIL_TEXT"    => $detail_value
);
но проблема в том что там как правило кроме ссылки 2-3 слова и весь раздел куда добавляются данные с формы превращается в помойку....

можно как то сделать проверку на наличие ссылок в тексте и если оные имеются просто не пропускать на запись а выводить какой нибудь текст???
Google Recapcha не проще прикрутить? А по поводу почтового события, просто напишите обработчик который отправляет письмо, при добавлении нового элемента инфоблока. Под рукой сейчас нет, если не забуду- в заметку допишу.
Но если найдете раньше прошу сюда написать)
 
вроде придумал костыль как проверять ссылки....если у кого то есть идеи как улучшить всегда буду рад
как то так

$mystring = 'abc xyzervev://googlwcwcwec.cwecom reverv<a href="wevwev">eververvev</a>ever rveervev';
function fuckinghref($mystring)
{
$findme = array('http', '//', '.ru', '.com', 'bz', 'net', '.org', '.info', '<a>', '</a>', 'href');
$i = "0";
foreach ($findme as $findme_value) {
$pos = strpos($mystring, $findme_value);
if ($pos === false) {
} else {
$i = $i + 1;
}
}
return $i;
}
echo $mystring . "<hr>";
if (fuckinghref($mystring) > "0" ;) {
echo "..... опять ссылки шлют!!";
}else{
echo "все норм";
}
Изменено: Михаил Базаров - 29.03.2017 19:37:12 (Мат)
 
как то так выглядит мой add_form_result.php если есть идеи по улучшению и защите от sql иньекций и прочей гадости буду рад услышать

<?
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$APPLICATION->SetPageProperty("ROBOTS", "noindex, nofollow");
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
?>

<?
$mystring = strip_tags($_REQUEST['name']);
$b = strip_tags($_REQUEST['description_detail']);
function fuckinghref($mystring)
{
   $findme = array('http', '//', '.ru', '.com', '.bz', '.net', '.org', '.info', '<a>', '</a>', 'href', 'url', 'ru', 'bz', 'net' , 'org' , 'info' , 'ucoz' , 'adult' , 'xxx');
   $i = "0";
   foreach ($findme as $findme_value) {
       $pos = strpos($mystring, $findme_value);
       if ($pos === false) {
       } else {
           $i = 1;
       }
   }
   return $i;
}
if ( (fuckinghref($mystring) > "0") || (fuckinghref($b) > "0") ){
   LocalRedirect($_SERVER['HTTP_REFERER']);
}else{

if (!empty($_REQUEST['name']) and !empty($_REQUEST['description_detail']) ) {

   CModule::IncludeModule('iblock');

   //Погнали
   $el = new CIBlockElement;
   $iblock_id = 31;
   $section_id = false;
   $section_id[$i] = $_POST['section_id']; //Разделы для добавления

   //Свойства
   $PROP = array();

$PROP['PERSONAL_YUR'] = $_POST['personal_yur']; //Свойство (частное/юр лицо)
$PROP['NAMES'] = $_POST['names']; //Свойство название
$PROP['PHONE'] = $_POST['phone']; //Свойство телефон
$PROP['CITY'] = $_POST['city']; //Свойство город
$PROP['FILE'] = $_FILES['file']; //Свойство файл

   //Основные поля элемента
   $fields = array(
       "DATE_CREATE" => date("d.m.Y H:i:s"), //Передаем дата создания
       "CREATED_BY" => $GLOBALS['USER']->GetID(), //Передаем ID пользователя кто добавляет
       "IBLOCK_SECTION" => $section_id[$i], //ID разделов
       "IBLOCK_ID" => $iblock_id, //ID информационного блока он 31-ый
       "PROPERTY_VALUES" => $PROP, // Передаем массив значении для свойств
       "NAME" => strip_tags($_REQUEST['name']),
       "ACTIVE" => "N", //поумолчанию делаем активным или ставим N для отключении поумолчанию
       "PREVIEW_TEXT" => TruncateText((strip_tags($_REQUEST['description_detail'])), 250),// strip_tags($_REQUEST['description_detail']), //Анонс
       "PREVIEW_PICTURE" => $_FILES['image'], //изображение для анонса
       "DETAIL_TEXT"    => strip_tags($_REQUEST['description_detail']),
       "DETAIL_PICTURE" => $_FILES['image_detail'] //изображение для детальной страницы
   );
/*
 if (strpos($_REQUEST['description_detail'], 'банкрот') !== false) // именно через жесткое сравнение
{
   echo 'Найдено';
} else {
   echo 'Не найдено';
}
*/
   
   //Результат в конце отработки
   if ($ID = $el->Add($fields)) {
   $rsParentSection = CIBlockSection::GetByID($section_id[$i][0]);
if ($arParentSection = $rsParentSection->GetNext()){
LocalRedirect($arParentSection['SECTION_PAGE_URL']);
}
    }else {
echo 'Произошел как-то косяк Попробуйте еще разок';
    }
}
else{
LocalRedirect($_SERVER['HTTP_REFERER']);
}
}
?>
 
<? require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php"); ?>
 
помогите решить проблему,сделал все как на видео...но при отправке кидает на странице результата но она пустая...совсем...ни ошибки ни чего-либо еще...что может быть?
 
Кирилл, у пользователей есть доступ на добавление элементов в инфоблок? Если нет, то не мудрено, что так происходит. В типах инфоблока->тип, в который ты добавляешь элементы->доступ, укажи "для всех пользователей - добавление в панели"
Изменено: Desperial - 06.04.2017 03:59:43
 
Здравствуйте! А вот вопрос как пользователю в месте с элементом создать раздел в котором он будет находится..
 
Добрый день!
Спасибо большое за полезный инструмент!
Создаю форму для добавления товаров в торговый каталог. Все получилось. Только никак не могу понять, как вносить цену. Никак она не хочет подхватываться.
Подскажите, как передать цену?
 
Цитата
Ольга Стафиевская пишет:
Добрый день!
Спасибо большое за полезный инструмент!
Создаю форму для добавления товаров в торговый каталог. Все получилось. Только никак не могу понять, как вносить цену. Никак она не хочет подхватываться.
Подскажите, как передать цену?
так сходу не подскажу но чуть позже допишу в заметку. Надо эксперементнуть. Как минимум- точно, нужно подключать модуль sale (вы же цены в торговый каталог грузите?)

Если разберетесь раньше меня: напишите в комментарий
 
Вроде разобралась.
Получилось что-то вроде этого:

Код
$PRODUCT_ID = $ID;
$PRICE_TYPE_ID = 1;
 $arFields = Array(
       "PRODUCT_ID" => $PRODUCT_ID,
       "CATALOG_GROUP_ID" => $PRICE_TYPE_ID,
       "PRICE" => $_POST['price'],
       "CURRENCY" => "RUB",
   );

CCatalogProduct::Add(array('ID' => $ID));

   if(CPrice::Add($arFields))
       echo "Добавил цену ".$_POST['price']." рублей на товар с ID: ".$ID.'<br>';
   else
       echo 'Ошибка добавления цены '.$_POST['price'].'<br>';
Работает.

Теперь разбираюсь, как осуществить множественную загрузку файлов.

И еще вопрос. Если есть форма загрузки материала из пользовательской части, то должна быть и форма редактирования. Кто-нибудь думал в этом направлении?
Можно ли использовать ту же самую форму, или надо делать другую?
 
Цитата
Ольга Стафиевская пишет:
Вроде разобралась.
Получилось что-то вроде этого:
Код
 $PRODUCT_ID = $ID;
$PRICE_TYPE_ID = 1;
 $arFields = Array(
       "PRODUCT_ID" => $PRODUCT_ID,
       "CATALOG_GROUP_ID" => $PRICE_TYPE_ID,
       "PRICE" => $_POST['price'],
       "CURRENCY" => "RUB",
   );

CCatalogProduct::Add(array('ID' => $ID));

   if(CPrice::Add($arFields))
       echo "Добавил цену ".$_POST['price']." рублей на товар с ID: ".$ID.'<br>';
   else
       echo 'Ошибка добавления цены '.$_POST['price'].'<br>'; 
Работает.

Теперь разбираюсь, как осуществить множественную загрузку файлов.

И еще вопрос. Если есть форма загрузки материала из пользовательской части, то должна быть и форма редактирования. Кто-нибудь думал в этом направлении?
Можно ли использовать ту же самую форму, или надо делать другую?
Здравствуйте! А цены то же так отправлять
Код
 <input type="text" name="price" maxlength="255" value="">
 
Михаил подскажите есть ли способ как-то уменьшить код дело в том что у меня 56 свойств и очень сложная форма код получается АДСКИМ....
 
Цитата
Дмитрий Герман написал:
Михаил подскажите есть ли способ как-то уменьшить код дело в том что у меня 56 свойств и очень сложная форма код получается АДСКИМ....
Если только делать свой компонент, на базе этой заметки (у меня руки ни как не дойдут- достаточно редко нужна эта заметка). Или можете взять стандартный компонент "Форма добавления элементов инфоблока" и как-то его переделать- под свою задачу
 
Цитата
Ильсур Гилажев написал:
Здравствуйте! А цены то же так отправлять
Код
  <input type="text" name="price" maxlength="255" value=""> 

Цены тоже можно, только не забудте подключить и модуль sale, в моем примере, подключен только модуль iblock
 
Михаил подскажите почему товар добавляется но он не доступен я думаю это из-за отсутствие цены но как её передать ????

Модули подключил    

Код
CModule::IncludeModule('iblock');
CModule::IncludeModule('sale');
 
а куда теперь "PRICE" => 1.00 подставить не понимаю
 
Цитата
Дмитрий Герман пишет:
Михаил подскажите почему товар добавляется но он не доступен я думаю это из-за отсутствие цены но как её передать ????

Модули подключил
Код
 CModule::IncludeModule('iblock');
CModule::IncludeModule('sale');
  
а куда теперь "PRICE" => 1.00 подставить не понимаю
Извините за беспокойство, все разобрался все работает не увидел комментарий выше на эту же тему
 
Могли подсказать что сделать с множественной загрузкой фотографий
поле создал

Код
<input type="file" name="Photo" multiple value=""> 
код в обработчике написал

Код
$i=count($_FILES['Photo']);
for ($c=0;$c<=$i;$c++) {
$PROP['Photo'][$c]['name']=$_FILES['Photo']['name'][$c];
$PROP['Photo'][$c]['type']=$_FILES['Photo']['type'][$c];
$PROP['Photo'][$c]['tmp_name']=$_FILES['Photo']['tmp_name'][$c];
$PROP['Photo'][$c]['error']=$_FILES['Photo']['error'][$c];
$PROP['Photo'][$c]['size']=$_FILES['Photo']['size'][$c];
}; 
товар вообще не добавляется
 
Михаил, могли бы помочь мне
 
На днях буду решать такую же задачу. Поделюсь решением, отдельной заметкой. Если не забуду, сошлюсь на нее из этой
 
Михаил, получилось ли у вас решить проблему с множественной загрузкой фотографий
 
Цитата
Дмитрий Герман написал:
Михаил, получилось ли у вас решить проблему с множественной загрузкой фотографий
Пока руки не доходили
 
Супер, то что надо.
Скажите пожалуйста Михаил.
Как сделать ajax отправку?
 
Здравствуйте, Михаил!

Скажите, как сделать, чтобы при сохранении данные из нескольких полей input сохранялись в одно поле свойства в тип строка (обычное или множ.)?

Код формы:

Код
<div class="cb_name"><span>2. Размеры</span>
 <div class="cb_showhide" rel="cb2"></div>
</div>
 <div class="cb_options">
 <div class="cb_option cb_sizes pryamaya cur" id="form_id11">
 <span class="center"><input type="text" name="size1_form11" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/pryamaya.png">
 <div class="cl"></div>
 </div>
 <div class="cb_option cb_sizes uglovaya" id="form_id12">
 <span class="left"><input type="text" name="size1_form12" maxlength="5"> см.</span>
 <span class="center"><input type="text" name="size2_form12" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/uglovaya.png">
 <div class="cl"></div>
 </div>
 <div class="cb_option cb_sizes ostrovnaya" id="form_id13">
 <span class="left"><input type="text" name="size1_form13" maxlength="5"> см.</span>
 <span class="right"><input type="text" name="size3_form13" maxlength="5"> см.</span>
 <span class="center"><input type="text" name="size2_form13" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/ostrovnaya.png">
 <div class="cl"></div>
 </div>
 <div class="cb_option cb_sizes drugaya" id="form_id14">
 <span class="left"><input type="text" name="size2_form14" maxlength="5"> см.</span>
 <span class="right2"><input type="text" name="size3_form14" maxlength="5"> см.</span>
 <span class="center"><input type="text" name="size1_form14" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/drugaya.png">
 <div class="cl"></div>
 </div>
 <div class="cl"></div>
 <button class="cb_prev">назад</button>
 <button class="cb_next">дальше</button>
 </div> 
В обработчике пытаюсь так:

Код
$PROP['ATT_SIZE_CALC'] = $_POST['size1_form11 size1_form12 size2_form12 size1_form13 size3_form13 size2_form13 size1_form14 size3_form14 size2_form14']; // Размеры: Длина/Ширина/Остров
 
Так не работает :-)
 
Цитата
Андрей Колчанов пишет:
Здравствуйте, Михаил!

Скажите, как сделать, чтобы при сохранении данные из нескольких полей input сохранялись в одно поле свойства в тип строка (обычное или множ.)?

-----



<input name="tr[0][Name]"  id="input0"><input name="tr[0][Count]" id="input0" >
<input name="tr[1][Name]" id="input1"><input name="tr[1][Count]" readonly="" id="input1" >

----
foreach ($tr as $key => $value) {
$myArray[] = $_POST ['tr'][$key]['Name']." count ".$_POST ['tr'][$key]['Count'];
}
//echo $myArray;
$PROP['STRING_ORDER_R'] =   $myArray;
 
Понимаю, что звучит странно, потому что у всех все нормально,но, у меня после вставки кода в add_form_result, вышло такое:
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')' in /var/www/u0441588/data/www/***.ru/add_form_result.php on line 47

---
На 47 строке Детальное фото, менять '=>' на ')' или на ',' не знаю зачем. но пробовал! Разумеется не помогает. Что с этим не так?
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе