Получите и установите пользовательские пользовательские поля Joomla из внешнего PHP-кода - PullRequest
0 голосов
/ 05 сентября 2018

Я создаю PHP API для связи с веб-сайтом Joomla, в частности для пользователя Joomla с настраиваемыми полями. Мне нужны методы для загрузки существующих данных, их изменения и сохранения, а также для добавления новых. На данный момент у меня есть код для загрузки зависимостей Joomla, чтобы получить пользователя и получить пользовательские поля, назначенные пользователю Joomla. Мне нужна помощь с сохранением / добавлением пользовательских полей.

<?php 
//Joomla dependencies
define('_JEXEC', 1);    
define('JPATH_BASE', realpath(dirname(__FILE__) . '/../..'));
define( 'DS', DIRECTORY_SEPARATOR );
require_once JPATH_BASE . '/includes/defines.php';
require_once JPATH_BASE . '/includes/framework.php';

//initialize
$app = JFactory::getApplication('site');
$app->initialise();

//more global Joomla depencies
JLoader::import('joomla.application.component.controller');
JLoader::import('joomla.application.component.model'); 
jimport( 'joomla.user.helper' );

//Joomla user depencies    
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php'); 
if(!class_exists('UsersModelUser')) require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_users'.DS.'models'.DS.'user.php');
if(!class_exists('FieldsModelField')) require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_fields'.DS.'models'.DS.'field.php');

//get user and custom fields
$user = JFactory::getUser('user@email.com');
$jcFields = FieldsHelper::getFields('com_users.user', $user, true);
print_r($jcFields); 

Это работает. Но я не могу понять, как изменить и сохранить или добавить новые данные в пользовательские поля . Может кто-нибудь указать мне какое-то направление?

...