drupal 8 node update

Главные вкладки

Аватар пользователя Riaron Riaron 12 сентября 2019 в 19:03

не работает следующий код, почему?

<?php
$user 
User::load(\Drupal::currentUser()->id());
    
$a=\Drupal::entityTypeManager()->getStorage('node')->loadByProperties([
    
'type' => 'basket',
    
'field_polzovatel'=>$user->getUsername(),
    ]);
    
$node=reset($a);
$request= \Drupal::request()->query;
                
$request=reset($request);
                
$article$request['article'];
                
$nid = \Drupal\node\Entity\Node::load($node)
                
$some=$node->get('field_artikuly');
                
$some[]=$article;
                
$nid->set('field_artikuly'$some);
                
$nid->save();
?>

Комментарии

Аватар пользователя Riaron Riaron 12 сентября 2019 в 21:33

вот более верный код

<?php
$user 
User::load(\Drupal::currentUser()->id());
    
$a=\Drupal::entityTypeManager()->getStorage('node')->loadByProperties([
    
'type' => 'basket',
    
'field_polzovatel'=>$user->getUsername(),
    ]);
    
$node=reset($a);
$request= \Drupal::request()->query;
                    
$request=reset($request);
                    
$article$request['article'];
                    
$some=$node->get('field_artikuly');
                    
$some[]=$article;
                    foreach(
$some as $somes){
                        
                        
$e[]=$somes->value;
                    }
                    \
Drupal\node\Entity\Node::load($a)->set('field_artikuly'$e);
                    \
Drupal\node\Entity\Node::load($a)->save();
?>

следующие ошибки
1)Error: Call to a member function set() on null в shop_addtobasket() (строка 62 из
2)Warning: Illegal offset type in isset or empty в Drupal\Core\Entity\EntityStorageBase->load()
3)Notice: Array to string conversion в Drupal\Core\Entity\EntityStorageBase->buildCacheId()
4)Warning: array_flip(): Can only flip STRING and INTEGER values! в Drupal\Core\Entity\EntityStorageBase->loadMultiple()

Аватар пользователя Riaron Riaron 13 сентября 2019 в 12:58

вот еще версия. Ошибок не выдает но и делать, ничего не делает

<?php
$request
= \Drupal::request()->query;
                    
$request=reset($request);
                    
$article$request['article'];
                    
$some=$node->get('field_artikuly');
                    
$some[]=$article;
                    
$nid=\Drupal::entityTypeManager()->getStorage('node_type')->load('basket');
                    
$nid->set('field_artikuly''hello');
                    
$nid->save();
?>