Я пытаюсь взаимодействовать с Odoo 8 API и получить список полей. Метод вызывается библиотекой ripcord XMLRPC, и это предложение:
$models = ripcord::client($url.'/xmlrpc/2/object');
$models->execute_kw($dbname, $username, $password,'res.partner', 'fields_get', array(), array('attributes' => array('string', 'help', 'type')));
Но я не знаю, как получить значения ответа …
Я нашел некоторые из полезного документа, который связан с
API веб-службы ODOO на разных языках
Как Python, PHP, Ruby и Java,
Пожалуйста, нажмите на ссылку ниже, что полезно для вашего решения.
Справочник по API веб-службы ODOO
Я надеюсь, что это поможет вам .. 🙂
Я сделал свои комментарии, прошу вас найти его, так как ниже это может помочь в вашем случае.
Относительно: я не знаю, как получить значения ответа.
В ОДОО, мы обычно называем fields_get
получить информацию о списке полей, связанных с конкретной моделью.
Допустим, я хочу получить
list of all the field
присутствует в
res.partner
,
ОДОО есть fields_get
для получения всех полей для модели.
require_once('ripcord-master/ripcord.php');
$url = "http://localhost:8059"; //ODOO Server Url
$db ="ripcord_test_db"; //Database Name
$username = "[email protected]"; //UserName
$password = "7959884833"; //Password
$common = ripcord::client("$url/xmlrpc/2/common");
//Authenticate the credentials
$uid = $common->authenticate($db, $username, $password, array());
echo $uid; //1
//Create Model Instance
$models = ripcord::client("$url/xmlrpc/2/object");
// Fetch the data by calling appropriate methods
$partner_field = array();
$partner_field=$models->execute_kw($db, $uid, $password,
'res.partner', 'fields_get',array(),
array('attributes' => array('string', 'help', 'type')));
//print_r($partner_field);
Теперь у вас есть все поля в массиве ключ-значение.
Но эти записи очень выразительны, потому что у вас есть тип print_r($partner_field);
Теперь у вас есть массив, только что использовал его согласно вашему требованию.
Допустим, меня интересует поле и его тип.
Вот фрагмент кода для этого:
function getfieldtype($field){
return $field['type'];
}
print_r(array_map("getfieldtype",$partner_field));
Я надеюсь, что это может помочь вам найти ответ на ваш запрос.