Commit 3e60c79b authored by Telenkov Ruslan's avatar Telenkov Ruslan

this is context definition

parent 65cd2eef
name: Cont def. task
package: Custom
type: module
core_version_requirement: ^8.8 || ^9
<?php
namespace Drupal\contDef\Plugin\Block;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\Context\EntityContext;
use Drupal\Core\Session\AccountInterface;
use Drupal\media\Entity\Media;
use Drupal\file\Entity\File;
/**
* Provides a 'ContDef' Block.
*
* @Block(
* id = "cont_definition_block",
* admin_label = @Translation("ContDef block"),
* category = @Translation("ContDefBlock"),
* )
*/
class ContBlock extends BlockBase
{
/**
* {@inheritdoc}
*/
public function build(){
$context = EntityContext::fromEntityType(\Drupal::entityTypeManager()->getDefinition('user'));
}
}
...@@ -30,6 +30,8 @@ public function swapi($node){ ...@@ -30,6 +30,8 @@ public function swapi($node){
$id = $node->get('field_swapi_id')->value; $id = $node->get('field_swapi_id')->value;
$conc = 'https://swapi.dev/api/'.$type.'/'.$id.'/'; $conc = 'https://swapi.dev/api/'.$type.'/'.$id.'/';
$request = $this->getResult($conc); $request = $this->getResult($conc);
// $request = json_encode($request);
return [ return [
'#markup' => $request, '#markup' => $request,
]; ];
......
<?php
namespace Drupal\testblocklast\Plugin\Block;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Session\AccountInterface;
use Psr\Container\ContainerInterface;
/**
* Provides a 'Text' Block.
*
* @Block(
* id = "testblocklast_text_block_block",
* admin_label = @Translation("Text block last"),
* category = @Translation("TestLastBlock"),
* context_definitions = {
* "node" = @ContextDefinition("entity:node", required = FALSE, label = @Translation("Node")),
* "term" = @ContextDefinition("entity:taxonomy_term", required = FALSE, label = @Translation("Term"))
* }
* )
*/
class ConBlock extends BlockBase{
/**
* {@inheritdoc}
*/
public function build() {
$output = '';
$node = $this->getContextValue('node');
$term = $this->getContextValue('term');
if ($node != null){
$view_builder = \Drupal::entityTypeManager()->getViewBuilder('node');
$rss_output = $view_builder->view($node, 'teaser');
$output = \Drupal::service('renderer')->render($rss_output);
}
else {
$view_builder = \Drupal::entityTypeManager()->getViewBuilder('taxonomy_term');
$rss_output = $view_builder->view($term, 'teaser');
$output = \Drupal::service('renderer')->render($rss_output);
}
return [
'#markup' => $output,
];
}
}
name: TestBlockLast
package: Custom
type: module
core_version_requirement: ^8.8 || ^9
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment