Оглавление / Выгрузка на доски объявлений / Какие данные из карточки объекта будут уходить на доски
Настройка php кода для специальной логики вывода данных на доски
I Порядок работы с настройкой php кода для формирования фида, а также
Как проверить работу php кода
1. Откройте xml фид в браузере
2. Откройте режим редактирования нужно вам тега
3. В свойствах снимите значение с уже выбранного поля (если установлено). Поставьте значение «выберите свойство»
4. Перейдите в раздел PHP Code
5. Внесите необходимые код, формирующий необходимую вам логику построения значений тега
6. Сохранитесь. Обновите XML фид
7. Откройте XML фид в браузере повторно (нажмите Ctrl+F5, чтобы исключить кеширование данных XML в браузере). Также эту ссылку можно отправлять в валидатор доски объявлений для проверки на ошибки
8. Если результаты вывода вас не устраивают (ошибки не исправлены), повторите пп.. 2-7, изменив данные php кода для обеспечения необходимой логики.
II Основные правила:
1. Строка должна заканчиваться точной с запятой «;»
2. Перед любой переменной должны быть установлен символ «$» , число переменных в скрипте не ограничено. Можете завести несколько,чтобы обеспечить логику выполнения с скрипта. Например, $a=”сотрудник Вася”, $b=12; $value=$b;
3. Присвоение значения переменной «=» (например $s=5 — присвоение переменной значения 5) , оператор сравнения «==» (if ($s==5) – если переменная равна 5)
4. Присвоение переменной значения текста $s=”текст”. Текст должен быть в кавычках, все кавычки обязательно должны быть закрыты (текст обрамлен кавычками)
5. Все что в строке в коде после "//" не исполняется, это комментарии
III Часто используемые конструкции:
1. Если - то,
if ($s==5) $a=10; Если переменная s равна 5, то переменной a присвоить значение 10
Если при выполнения условия нужно выполнить несколько действий, то необходимо использовать обрамление всех действий в фигурные скобки
if ($s==5)
{
$a=10;
$b=20;
}
2. Вывести результат выполнения скрипта
return $value;
3. ВАЖНОЕ Как вывести значение поля объекта в переменную для использования в коде:
4. Конструкция, позволяющая выводить значение на определенную доску.
if($GLOBALS['export']['resource']=="AVITO") {$value=”значение»;}
5. Удаление части текста переменной.
$value=str_replace('XYZ123','', $value); //Текст XYZ123 будет вырезан из текст переменной.
6. Замена части текста переменной
$value=str_replace('XYZ','123', $value); //Текст XYZ будет заменен на 123 в тексте переменной.
7. Объединения текста
$value=”Квартира на “.$etazh.”этаже”; // если в переменной $etazh номер этажа, то в результате получится Квартира на 3 этаже
8. Математические действия с переменными
$value=($a+$b)*10+100;
9. Округление
$value=round($value);
IV Разбор примеров.
1. При разных параметрах объекта выводить разный телефон риелтора. Логические операции
$value = "79171000000"; // это значение будет результатом выполнения скрипта, если не выолнятся ниже следующие условия
if((int)$exts[448][0]['value_integer'] < 30){//Если условие выполняется (т. е. Когда значение поля с id 448 (например, площадь квартиры) меньше 30)
$value = "+79172000000"; // то выводим в результат данное (1) значение поля
} else {//Если условие НЕ выполняется
$value = "+74951000000"; // то выводим другое (2) значение поля
if($GLOBALS['export']['resource']=="AVITO") $value = "+7(495)1234567"; // если данный фид будут выгружаться на доску АВИТО, то затираем значение (2) данным значением (3), которое соответственно пойдет в результаты выполнения скрипта
}
return $value; // завершаем выполнения скрипта и выводим полученное значения в результаты
2. Данные с поля с типом "число" преобразовать в формат целого. Необходимо округление до целого. (например, когда доска не принимает процент комиссии в десятичном виде, либо цены в с копейками, например: 12.20=>12.00 )
$value =$exts[1165][0]['value_decimal']; // забираем данные из поля в переменную
$value=round($value); // оператор округления
return $value; // вывод результатов
3. Вывести в тег цену за квадратный метр, вычислив его на основе значения поля цена объета и общая площадь. Необходимо выполнить математическую операцию.
$ploshad=$exts[450][0]['value_decimal']; // добавляем в переменную значение поля Общая площадь
$price=$exts[470][0]['value_price'];// добавляем в переменную значение поля Цена
$value=($ploshad/$price);// вычисляем цену за квадратный метр
$value=round($value);//округляем до целого
return $value;
4. Логическое условие, если значение поля равно чем-то - то вывод в тег xml другого значения. Если значение поля Тип земли = «для жилого строительства», то вывести в тег «Категория земли» значение «ИЖС», если любое другое значение поля Тип земли, то вывести «другое»
$tip=$exts[458][0]['value_select']; // выводим в переменную значение поля Тип земли
if ($tip==”для жилого строительства”){//Если условие выполняется (т. е. Когда значение поля с id 458 равно "для жилого строительства")
$value = "ИЖС"; // то выводим в результат значение поля: «ИЖС»
} else {//Если условие НЕ выполняется
$value = "другое"; // то выводим значение поля: «другое»
}
return $value; // завершаем выполнения скрипта и выводим полученное значения в результаты
Возможно вам также будет интересно: Как пользоваться телефонией (инструкция для сотрудников)
Вернуться к оглавлению