Posts

Showing posts with the label Drupal 8

D8 KernelEvents constants

Here is a list of KernelEvents constants: KernelEvents::CONTROLLER ; // The CONTROLLER event occurs once a controller was found for handling a request. KernelEvents::EXCEPTION ; // The EXCEPTION event occurs when an uncaught exception appears. KernelEvents::FINISH_REQUEST ; //The FINISH_REQUEST event occurs when a response was generated for a request. KernelEvents::REQUEST ; // The REQUEST event occurs at the very beginning of request dispatching. KernelEvents::RESPONSE ; // The RESPONSE event occurs once a response was created for replying to a request. KernelEvents::TERMINATE ; // The TERMINATE event occurs once a response was sent. KernelEvents::VIEW ; // The VIEW event occurs when the return value of a controller is not a Response instance.

D8 - Derive the route_name for the views created page

You can derive the views route_name from the below pattern view.{view_id}.{display_id} {view_id} - Basically the machine name appears in the URL when you edit the view. {display_id} - Hope the tab of every display to find the display ID(eg., page_1, page_2 etc.,)

D8 - Programmatically Redirect in Custom module

Use the below code use Symfony\Component\HttpFoundation\RedirectResponse; use Drupal\Core\Url; return new RedirectResponse(\Drupal::url('{route_name}')); {route_name} - Name given while defining the path in .routing file. To derive the route_name of a views created page refer the below link, http://romelchrist.blogspot.com/2017/09/d8-derive-routename-for-views-created.html

D8 - Attach file programmatically to a node

Scenario 1: If the file resides on the other server/website. Try the below code, use \Drupal\node\Entity\Node; /** Create file object from remote server/website URL. */ $data = file_get_contents('https://www.example.com/sites/default/files/logo.png'); $file = file_save_data($data, 'public://logo.png', FILE_EXISTS_REPLACE); // Create node object with attached file. $node = Node::create([   'type'        => 'article',   'title'       => 'Sample test',   'field_image' => [     'target_id' => $file->id(),   ], ]); $node->save(); Refer " file_save_data " API for more options/overide functions Scenario 2:  If the file resides on the same server/website. Try the below code, use \Drupal\node\Entity\Node; use \Drupal\file\Entity\File; // Create file object from a locally copied file. $uri  = file_unmanaged_copy('public://source.jpg', 'public://destination.jpg', ...

D8 - Programmatically Delete configuration settings

Execute the below code in hook_preprocess_page or hook_preprocess_html Drupal::configFactory()->getEditable('simplesamlphp_auth.settings')->delete();

D8 - Get Public and private file path in custom module/code

1) To get the Public directory path in custom module/code $Public_base_path = \Drupal\Core\StreamWrapper\PublicStream::basePath(); 2) To get the Private directory path in custom module/code $Private_base_path = \Drupal\Core\StreamWrapper\PrivateStream::basePath();