• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Entity\Block类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Drupal\block\Entity\Block的典型用法代码示例。如果您正苦于以下问题:PHP Block类的具体用法?PHP Block怎么用?PHP Block使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Block类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: testHelp

 /**
  * Logs in users, tests help pages.
  */
 public function testHelp()
 {
     $this->drupalGet('help_page_test/has_help');
     $this->assertText(t('I have help!'));
     $this->assertText($this->helpBlock->label());
     $this->drupalGet('help_page_test/no_help');
     // The help block should not appear when there is no help.
     $this->assertNoText($this->helpBlock->label());
 }
开发者ID:ravibarnwal,项目名称:laraitassociate.in,代码行数:12,代码来源:HelpBlockTest.php


示例2: getGroupForBlock

 /**
  * @param \Drupal\block\Entity\Block $block
  *
  * @return string
  */
 protected function getGroupForBlock(Block $block) {
   /** @var ConditionPluginCollection $conditions */
   $conditions = $block->getVisibilityConditions();
   $config_block_visibility_group = '';
   if ($conditions->has('condition_group')) {
     $condition_config = $conditions->get('condition_group')
       ->getConfiguration();
     $config_block_visibility_group = $condition_config['block_visibility_group'];
     return $config_block_visibility_group;
   }
   return $config_block_visibility_group;
 }
开发者ID:eloiv,项目名称:botafoc.cat,代码行数:17,代码来源:BlockVisibilityLister.php


示例3: testHelp

 /**
  * Logs in users, tests help pages.
  */
 public function testHelp()
 {
     $this->drupalGet('help_page_test/has_help');
     $this->assertText(t('I have help!'));
     $this->assertText($this->helpBlock->label());
     $this->drupalGet('help_page_test/no_help');
     // The help block should not appear when there is no help.
     $this->assertNoText($this->helpBlock->label());
     // Ensure that if two hook_help() implementations both return a render array
     // the output is as expected.
     $this->drupalGet('help_page_test/test_array');
     $this->assertText('Help text from more_help_page_test_help module.');
     $this->assertText('Help text from help_page_test_help module.');
 }
开发者ID:eigentor,项目名称:tommiblog,代码行数:17,代码来源:HelpBlockTest.php


示例4: testGetDefaultConfigLangcode

 /**
  * Tests getDefaultConfigLangcode().
  */
 public function testGetDefaultConfigLangcode()
 {
     // Install the Language module's configuration so we can use the
     // module_installer service.
     $this->installConfig(['language']);
     $this->assertNull(\Drupal::service('locale.config_manager')->getDefaultConfigLangcode('locale_test_translate.settings'), 'Before installing a module the locale config manager can not access the shipped configuration.');
     \Drupal::service('module_installer')->install(['locale_test_translate']);
     $this->assertEqual('en', \Drupal::service('locale.config_manager')->getDefaultConfigLangcode('locale_test_translate.settings'), 'After installing a module the locale config manager can get the shipped configuration langcode.');
     $simple_config = \Drupal::configFactory()->getEditable('locale_test_translate.simple_config_extra');
     $simple_config->set('foo', 'bar')->save();
     $this->assertNull(\Drupal::service('locale.config_manager')->getDefaultConfigLangcode($simple_config->getName()), 'Simple config created through the API is not treated as shipped configuration.');
     $block = Block::create(array('id' => 'test_default_config', 'theme' => 'classy', 'status' => TRUE, 'region' => 'content', 'plugin' => 'local_tasks_block', 'settings' => ['id' => 'local_tasks_block', 'label' => $this->randomMachineName(), 'provider' => 'core', 'label_display' => FALSE, 'primary' => TRUE, 'secondary' => TRUE]));
     $block->save();
     // Install the theme after creating the block as installing the theme will
     // install the block provided by the locale_test module.
     \Drupal::service('theme_installer')->install(['classy']);
     // The test_default_config block provided by the locale_test module will not
     // be installed because a block with the same ID already exists.
     $this->installConfig(['locale_test']);
     $this->assertNull(\Drupal::service('locale.config_manager')->getDefaultConfigLangcode('block.block.test_default_config'), 'The block.block.test_default_config is not shipped configuration.');
     // Delete the block so we can install the one provided by the locale_test
     // module.
     $block->delete();
     $this->installConfig(['locale_test']);
     $this->assertEqual('en', \Drupal::service('locale.config_manager')->getDefaultConfigLangcode('block.block.test_default_config'), 'The block.block.test_default_config is shipped configuration.');
     // Test the special case for configurable_language config entities.
     $fr_language = ConfigurableLanguage::createFromLangcode('fr');
     $fr_language->save();
     $this->assertEqual('en', \Drupal::service('locale.config_manager')->getDefaultConfigLangcode('language.entity.fr'), 'The language.entity.fr is treated as shipped configuration because it is a configurable_language config entity and in the standard language list.');
     $custom_language = ConfigurableLanguage::createFromLangcode('custom');
     $custom_language->save();
     $this->assertNull(\Drupal::service('locale.config_manager')->getDefaultConfigLangcode('language.entity.custom'), 'The language.entity.custom is not shipped configuration because it is not in the standard language list.');
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:36,代码来源:LocaleConfigManagerTest.php


示例5: testBasicRendering

 /**
  * Tests the rendering of blocks.
  */
 public function testBasicRendering()
 {
     \Drupal::state()->set('block_test.content', '');
     $entity = $this->controller->create(array('id' => 'test_block1', 'theme' => 'stark', 'plugin' => 'test_html'));
     $entity->save();
     // Test the rendering of a block.
     $entity = Block::load('test_block1');
     $output = entity_view($entity, 'block');
     $expected = array();
     $expected[] = '<div id="block-test-block1">';
     $expected[] = '  ';
     $expected[] = '    ';
     $expected[] = '      ';
     $expected[] = '  </div>';
     $expected[] = '';
     $expected_output = implode("\n", $expected);
     $this->assertEqual($this->renderer->renderRoot($output), $expected_output);
     // Reset the HTML IDs so that the next render is not affected.
     Html::resetSeenIds();
     // Test the rendering of a block with a given title.
     $entity = $this->controller->create(array('id' => 'test_block2', 'theme' => 'stark', 'plugin' => 'test_html', 'settings' => array('label' => 'Powered by Bananas')));
     $entity->save();
     $output = entity_view($entity, 'block');
     $expected = array();
     $expected[] = '<div id="block-test-block2">';
     $expected[] = '  ';
     $expected[] = '      <h2>Powered by Bananas</h2>';
     $expected[] = '    ';
     $expected[] = '      ';
     $expected[] = '  </div>';
     $expected[] = '';
     $expected_output = implode("\n", $expected);
     $this->assertEqual($this->renderer->renderRoot($output), $expected_output);
 }
开发者ID:sojo,项目名称:d8_friendsofsilence,代码行数:37,代码来源:BlockViewBuilderTest.php


示例6: index

 public function index($count)
 {
     //    Esta forma de llevar a cabo conexiones es mas rapida sin usar dependency injection
     //    sin embargo es considerada mala practica
     //    $connection = \Drupal::database();
     $select = $this->db->select('node', 'n');
     $select->fields('n');
     $select->range(0, $count);
     $result = $select->execute()->fetchAll();
     $query = $this->entityQuery->get('node');
     $query->condition('status', 1);
     $query->range(0, $count);
     $result = $query->execute();
     $storage = $this->entityManager->getStorage('node');
     $render_controller = $this->entityManager->getViewBuilder('node');
     $nodes = $storage->loadMultiple($result);
     $some_nodes = array();
     foreach ($nodes as $nid => $node) {
         $some_nodes[$nid] = $node->getTitle();
     }
     $dispatcher = $this->eventDisp;
     $e = new NodeFancyDisplayEvent($some_nodes);
     $event = $dispatcher->dispatch('rootstack_sandbox.fancy_node_edit', $e);
     $some_nodes = $event->getFancyNodes();
     //    Generar links en D8..... http://drupal.stackexchange.com/questions/144992/how-do-you-create-a-link-in-drupal-8 :(
     $block = \Drupal\block\Entity\Block::load('views_block__sdf_block_1');
     $test = $this->entityManager->getViewBuilder('block')->view($block);
     return ['#theme' => 'fancy_nodes', '#summary' => $render_controller->view(array_values($nodes)[0]), '#some_nodes' => $some_nodes, '#total' => count($nodes)];
 }
开发者ID:HakS,项目名称:drupal8_training,代码行数:29,代码来源:NodeFancyDisplayController.php


示例7: testUI

 public function testUI()
 {
     // Set up a block and a entity_test entity.
     $block = Block::create(['id' => 'test_id', 'plugin' => 'system_main_block']);
     $block->save();
     $entity_test = EntityTest::create(['bundle' => 'entity_test']);
     $entity_test->save();
     $default = $this->randomView([]);
     $id = $default['id'];
     $view = View::load($id);
     $this->drupalGet($view->urlInfo('edit-form'));
     // Add a global NULL argument to the view for testing argument placeholders.
     $this->drupalPostForm("admin/structure/views/nojs/add-handler/{$id}/page_1/argument", ['name[views.null]' => 1], 'Add and configure contextual filters');
     $this->drupalPostForm(NULL, [], 'Apply');
     // Configure both the entity_test area header and the block header to
     // reference the given entities.
     $this->drupalPostForm("admin/structure/views/nojs/add-handler/{$id}/page_1/header", ['name[views.entity_block]' => 1], 'Add and configure header');
     $this->drupalPostForm(NULL, ['options[target]' => $block->id()], 'Apply');
     $this->drupalPostForm("admin/structure/views/nojs/add-handler/{$id}/page_1/header", ['name[views.entity_entity_test]' => 1], 'Add and configure header');
     $this->drupalPostForm(NULL, ['options[target]' => $entity_test->id()], 'Apply');
     $this->drupalPostForm(NULL, [], 'Save');
     // Confirm the correct target identifiers were saved for both entities.
     $view = View::load($id);
     $header = $view->getDisplay('default')['display_options']['header'];
     $this->assertEqual(['entity_block', 'entity_entity_test'], array_keys($header));
     $this->assertEqual($block->id(), $header['entity_block']['target']);
     $this->assertEqual($entity_test->uuid(), $header['entity_entity_test']['target']);
     // Confirm that the correct serial ID (for the entity_test) and config ID
     // (for the block) are displayed in the form.
     $this->drupalGet("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_block");
     $this->assertFieldByName('options[target]', $block->id());
     $this->drupalGet("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_entity_test");
     $this->assertFieldByName('options[target]', $entity_test->id());
     // Replace the header target entities with argument placeholders.
     $this->drupalPostForm("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_block", ['options[target]' => '{{ raw_arguments.null }}'], 'Apply');
     $this->drupalPostForm("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_entity_test", ['options[target]' => '{{ raw_arguments.null }}'], 'Apply');
     $this->drupalPostForm(NULL, [], 'Save');
     // Confirm that the argument placeholders are saved.
     $view = View::load($id);
     $header = $view->getDisplay('default')['display_options']['header'];
     $this->assertEqual(['entity_block', 'entity_entity_test'], array_keys($header));
     $this->assertEqual('{{ raw_arguments.null }}', $header['entity_block']['target']);
     $this->assertEqual('{{ raw_arguments.null }}', $header['entity_entity_test']['target']);
     // Confirm that the argument placeholders are still displayed in the form.
     $this->drupalGet("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_block");
     $this->assertFieldByName('options[target]', '{{ raw_arguments.null }}');
     $this->drupalGet("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_entity_test");
     $this->assertFieldByName('options[target]', '{{ raw_arguments.null }}');
     // Change the targets for both headers back to the entities.
     $this->drupalPostForm("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_block", ['options[target]' => $block->id()], 'Apply');
     $this->drupalPostForm("admin/structure/views/nojs/handler/{$id}/page_1/header/entity_entity_test", ['options[target]' => $entity_test->id()], 'Apply');
     $this->drupalPostForm(NULL, [], 'Save');
     // Confirm the targets were again saved correctly and not skipped based on
     // the previous form value.
     $view = View::load($id);
     $header = $view->getDisplay('default')['display_options']['header'];
     $this->assertEqual(['entity_block', 'entity_entity_test'], array_keys($header));
     $this->assertEqual($block->id(), $header['entity_block']['target']);
     $this->assertEqual($entity_test->uuid(), $header['entity_entity_test']['target']);
 }
开发者ID:sarahwillem,项目名称:OD8,代码行数:60,代码来源:AreaEntityUITest.php


示例8: setUpFixtures

 /**
  * {@inheritdoc}
  */
 protected function setUpFixtures()
 {
     $this->installEntitySchema('user');
     $this->installEntitySchema('entity_test');
     $this->installConfig(['entity_test']);
     Block::create(['id' => 'test_block', 'plugin' => 'system_main_block'])->save();
     parent::setUpFixtures();
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:11,代码来源:AreaEntityTest.php


示例9: testBlockConfigSchema

 /**
  * Tests the block config schema for block plugins.
  */
 public function testBlockConfigSchema()
 {
     foreach ($this->blockManager->getDefinitions() as $block_id => $definition) {
         $id = strtolower($this->randomMachineName());
         $block = Block::create(array('id' => $id, 'theme' => 'stark', 'weight' => 00, 'status' => TRUE, 'region' => 'content', 'plugin' => $block_id, 'settings' => array('label' => $this->randomMachineName(), 'provider' => 'system', 'label_display' => FALSE), 'visibility' => array()));
         $block->save();
         $config = \Drupal::config("block.block.{$id}");
         $this->assertEqual($config->get('id'), $id);
         $this->assertConfigSchema($this->typedConfig, $config->getName(), $config->get());
     }
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:14,代码来源:BlockConfigSchemaTest.php


示例10: testPrintableBlock

 /**
  * Tests the functionality of the Printable block.
  */
 public function testPrintableBlock()
 {
     $this->drupalLogin($this->adminUser);
     $edit = ['id' => strtolower($this->randomMachineName()), 'settings[label]' => $this->randomMachineName(8), 'region' => 'sidebar_first', 'visibility[node_type][bundles][article]' => 'article'];
     $theme = \Drupal::service('theme_handler')->getDefault();
     $this->drupalPostForm("admin/structure/block/add/printable_links_block%3Anode/{$theme}", $edit, t('Save block'));
     $block = Block::load($edit['id']);
     $visibility = $block->getVisibility();
     $this->assertTrue(isset($visibility['node_type']['bundles']['article']), 'Visibility settings were saved to configuration');
     // Test deleting the block from the edit form.
     $this->drupalGet('admin/structure/block/manage/' . $edit['id']);
     $this->clickLink(t('Delete'));
     $this->assertRaw(t('Are you sure you want to delete the block %name?', array('%name' => $edit['settings[label]'])));
     $this->drupalPostForm(NULL, array(), t('Delete'));
     $this->assertRaw(t('The block %name has been deleted.', array('%name' => $edit['settings[label]'])));
 }
开发者ID:gerbreown1,项目名称:calvaryfree,代码行数:19,代码来源:PrintableBlockTest.php


示例11: testUpdateHookN

 /**
  * Tests that block context mapping is updated properly.
  */
 public function testUpdateHookN()
 {
     $this->runUpdates();
     $this->assertRaw('Encountered an unknown context mapping key coming probably from a contributed or custom module: One or more mappings could not be updated. Please manually review your visibility settings for the following blocks, which are disabled now:<ul><li>User login (Visibility: Baloney spam)</li></ul>');
     // Disable maintenance mode.
     \Drupal::state()->set('system.maintenance_mode', FALSE);
     // We finished updating so we can login the user now.
     $this->drupalLogin($this->rootUser);
     // The block that we are testing has the following visibility rules:
     // - only visible on node pages
     // - only visible to authenticated users.
     $block_title = 'Test for 2354889';
     // Create two nodes, a page and an article.
     $page = Node::create(['type' => 'page', 'title' => 'Page node']);
     $page->save();
     $article = Node::create(['type' => 'article', 'title' => 'Article node']);
     $article->save();
     // Check that the block appears only on Page nodes for authenticated users.
     $this->drupalGet('node/' . $page->id());
     $this->assertRaw($block_title, 'Test block is visible on a Page node as an authenticated user.');
     $this->drupalGet('node/' . $article->id());
     $this->assertNoRaw($block_title, 'Test block is not visible on a Article node as an authenticated user.');
     $this->drupalLogout();
     // Check that the block does not appear on any page for anonymous users.
     $this->drupalGet('node/' . $page->id());
     $this->assertNoRaw($block_title, 'Test block is not visible on a Page node as an anonymous user.');
     $this->drupalGet('node/' . $article->id());
     $this->assertNoRaw($block_title, 'Test block is not visible on a Article node as an anonymous user.');
     // Ensure that all the context mappings got updated properly.
     $block = Block::load('testfor2354889');
     $visibility = $block->get('visibility');
     $this->assertEqual('@node.node_route_context:node', $visibility['node_type']['context_mapping']['node']);
     $this->assertEqual('@user.current_user_context:current_user', $visibility['user_role']['context_mapping']['user']);
     $this->assertEqual('@language.current_language_context:language_interface', $visibility['language']['context_mapping']['language']);
     // Check that a block with invalid context is being disabled and that it can
     // still be edited afterward.
     $disabled_block = Block::load('thirdtestfor2354889');
     $this->assertFalse($disabled_block->status(), 'Block with invalid context is disabled');
     $this->assertEqual(['thirdtestfor2354889' => ['missing_context_ids' => ['baloney.spam' => ['node_type']], 'status' => TRUE]], \Drupal::keyValue('update_backup')->get('block_update_8001'));
     $disabled_block_visibility = $disabled_block->get('visibility');
     $this->assertTrue(!isset($disabled_block_visibility['node_type']), 'The problematic visibility condition has been removed.');
     $admin_user = $this->drupalCreateUser(['administer blocks']);
     $this->drupalLogin($admin_user);
     $this->drupalGet('admin/structure/block/manage/thirdtestfor2354889');
     $this->assertResponse('200');
 }
开发者ID:nsp15,项目名称:Drupal8,代码行数:49,代码来源:BlockContextMappingUpdateTest.php


示例12: testLanguageBlockVisibilityLanguageDelete

 /**
  * Tests if the visibility settings are removed if the language is deleted.
  */
 public function testLanguageBlockVisibilityLanguageDelete()
 {
     // Enable a standard block and set the visibility setting for one language.
     $edit = array('visibility' => array('language' => array('language_type' => 'language_interface', 'langcodes' => array('fr' => 'fr'))));
     $block = $this->drupalPlaceBlock('system_powered_by_block', $edit);
     // Check that we have the language in config after saving the setting.
     $visibility = $block->getVisibility();
     $language = $visibility['language']['langcodes']['fr'];
     $this->assertTrue('fr' === $language, 'Language is set in the block configuration.');
     // Delete the language.
     $this->drupalPostForm('admin/config/regional/language/delete/fr', array(), t('Delete'));
     // Check that the language is no longer stored in the configuration after
     // it is deleted.
     $block = Block::load($block->id());
     $visibility = $block->getVisibility();
     $this->assertTrue(empty($visibility['language']['langcodes']['fr']), 'Language is no longer not set in the block configuration after deleting the block.');
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:20,代码来源:BlockLanguageTest.php


示例13: testBlockHooks

 /**
  * Tests hook invocations for CRUD operations on blocks.
  */
 public function testBlockHooks()
 {
     $entity = entity_create('block', array('id' => 'stark_test_html', 'plugin' => 'test_html', 'theme' => 'stark'));
     $this->assertHookMessageOrder(array('entity_crud_hook_test_block_create called', 'entity_crud_hook_test_entity_create called for type block'));
     $GLOBALS['entity_crud_hook_test'] = array();
     $entity->save();
     $this->assertHookMessageOrder(array('entity_crud_hook_test_block_presave called', 'entity_crud_hook_test_entity_presave called for type block', 'entity_crud_hook_test_block_insert called', 'entity_crud_hook_test_entity_insert called for type block'));
     $GLOBALS['entity_crud_hook_test'] = array();
     $entity = Block::load($entity->id());
     $this->assertHookMessageOrder(array('entity_crud_hook_test_entity_load called for type block', 'entity_crud_hook_test_block_load called'));
     $GLOBALS['entity_crud_hook_test'] = array();
     $entity->label = 'New label';
     $entity->save();
     $this->assertHookMessageOrder(array('entity_crud_hook_test_block_presave called', 'entity_crud_hook_test_entity_presave called for type block', 'entity_crud_hook_test_block_update called', 'entity_crud_hook_test_entity_update called for type block'));
     $GLOBALS['entity_crud_hook_test'] = array();
     $entity->delete();
     $this->assertHookMessageOrder(array('entity_crud_hook_test_block_predelete called', 'entity_crud_hook_test_entity_predelete called for type block', 'entity_crud_hook_test_block_delete called', 'entity_crud_hook_test_entity_delete called for type block'));
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:21,代码来源:EntityCrudHookTest.php


示例14: testBlockThemeHookSuggestions

 /**
  * Tests template suggestions from block_theme_suggestions_block().
  */
 function testBlockThemeHookSuggestions()
 {
     // Define a block with a derivative to be preprocessed, which includes both
     // an underscore (not transformed) and a hyphen (transformed to underscore),
     // and generates possibilities for each level of derivative.
     // @todo Clarify this comment.
     $block = Block::create(array('plugin' => 'system_menu_block:admin', 'region' => 'footer', 'id' => 'machinename'));
     $variables = array();
     $plugin = $block->getPlugin();
     $variables['elements']['#configuration'] = $plugin->getConfiguration();
     $variables['elements']['#plugin_id'] = $plugin->getPluginId();
     $variables['elements']['#id'] = $block->id();
     $variables['elements']['#base_plugin_id'] = $plugin->getBaseId();
     $variables['elements']['#derivative_plugin_id'] = $plugin->getDerivativeId();
     $variables['elements']['content'] = array();
     $suggestions = block_theme_suggestions_block($variables);
     $this->assertEqual($suggestions, array('block__system', 'block__system_menu_block', 'block__system_menu_block__admin', 'block__machinename'));
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:21,代码来源:BlockTemplateSuggestionsTest.php


示例15: placeBlock

 /**
  * Creates a block instance based on default settings.
  *
  * @param string $plugin_id
  *   The plugin ID of the block type for this block instance.
  * @param array $settings
  *   (optional) An associative array of settings for the block entity.
  *   Override the defaults by specifying the key and value in the array, for
  *   example:
  *   @code
  *     $this->drupalPlaceBlock('system_powered_by_block', array(
  *       'label' => t('Hello, world!'),
  *     ));
  *   @endcode
  *   The following defaults are provided:
  *   - label: Random string.
  *   - ID: Random string.
  *   - region: 'sidebar_first'.
  *   - theme: The default theme.
  *   - visibility: Empty array.
  *
  * @return \Drupal\block\Entity\Block
  *   The block entity.
  *
  * @todo
  *   Add support for creating custom block instances.
  */
 protected function placeBlock($plugin_id, array $settings = array())
 {
     $config = \Drupal::configFactory();
     $settings += array('plugin' => $plugin_id, 'region' => 'sidebar_first', 'id' => strtolower($this->randomMachineName(8)), 'theme' => $config->get('system.theme')->get('default'), 'label' => $this->randomMachineName(8), 'visibility' => array(), 'weight' => 0);
     $values = [];
     foreach (array('region', 'id', 'theme', 'plugin', 'weight', 'visibility') as $key) {
         $values[$key] = $settings[$key];
         // Remove extra values that do not belong in the settings array.
         unset($settings[$key]);
     }
     foreach ($values['visibility'] as $id => $visibility) {
         $values['visibility'][$id]['id'] = $id;
     }
     $values['settings'] = $settings;
     $block = Block::create($values);
     $block->save();
     return $block;
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:45,代码来源:BlockCreationTrait.php


示例16: testLocalTaskBlock

 /**
  * Tests that local task blocks are configurable to show a specific level.
  */
 public function testLocalTaskBlock()
 {
     // Remove the default block and create a new one.
     $this->sut->delete();
     $this->sut = $this->drupalPlaceBlock('local_tasks_block', ['id' => 'tabs_block', 'primary' => TRUE, 'secondary' => FALSE]);
     $this->drupalGet(Url::fromRoute('menu_test.local_task_test_tasks_settings'));
     // Verify that local tasks in the first level appear.
     $this->assertLocalTasks([['menu_test.local_task_test_tasks_view', []], ['menu_test.local_task_test_tasks_edit', []], ['menu_test.local_task_test_tasks_settings', []]]);
     // Verify that local tasks in the second level doesn't appear.
     $this->assertNoLocalTasks(1);
     $this->sut->delete();
     $this->sut = $this->drupalPlaceBlock('local_tasks_block', ['id' => 'tabs_block', 'primary' => FALSE, 'secondary' => TRUE]);
     $this->drupalGet(Url::fromRoute('menu_test.local_task_test_tasks_settings'));
     // Verify that local tasks in the first level doesn't appear.
     $this->assertNoLocalTasks(0);
     // Verify that local tasks in the second level appear.
     $sub_tasks = [['menu_test.local_task_test_tasks_settings_sub1', []], ['menu_test.local_task_test_tasks_settings_sub2', []], ['menu_test.local_task_test_tasks_settings_sub3', []], ['menu_test.local_task_test_tasks_settings_derived', ['placeholder' => 'derive1']], ['menu_test.local_task_test_tasks_settings_derived', ['placeholder' => 'derive2']]];
     $this->assertLocalTasks($sub_tasks, 1);
 }
开发者ID:sarahwillem,项目名称:OD8,代码行数:22,代码来源:LocalTasksTest.php


示例17: process

 /**
  * {@inheritdoc}
  */
 public function process($text, $langcode)
 {
     $new_text = $text;
     $filter_result = new FilterProcessResult($text);
     if (preg_match('/\\[survey\\:.+\\]/', $text, $result)) {
         $token = $result[0];
         $start = strpos($token, ':') + 1;
         $length = strpos($token, ']') - $start;
         $id = substr($token, $start, $length);
         $block = Block::load($id);
         if ($block) {
             $replace = $block->get('settings')['html'];
             $new_text = str_replace($token, $replace, $text);
             $filter_result->setProcessedText($new_text);
             $filter_result->setCacheTags($block->getCacheTags());
         }
     }
     return $filter_result;
 }
开发者ID:wfp,项目名称:survey_manager,代码行数:22,代码来源:FilterSurvey.php


示例18: testLanguageBlockVisibilityLanguageDelete

 /**
  * Tests if the visibility settings are removed if the language is deleted.
  */
 public function testLanguageBlockVisibilityLanguageDelete()
 {
     // Enable a standard block and set the visibility setting for one language.
     $edit = array('visibility' => array('language' => array('langcodes' => array('fr' => 'fr'))));
     $block = $this->drupalPlaceBlock('system_powered_by_block', $edit);
     // Check that we have the language in config after saving the setting.
     $visibility = $block->getVisibility();
     $this->assertEqual('fr', $visibility['language']['langcodes']['fr'], 'Language is set in the block configuration.');
     // Delete the language.
     $this->drupalPostForm('admin/config/regional/language/delete/fr', array(), t('Delete'));
     // Check that the language is no longer stored in the configuration after
     // it is deleted.
     $block = Block::load($block->id());
     $visibility = $block->getVisibility();
     $this->assertTrue(empty($visibility['language']['langcodes']['fr']), 'Language is no longer not set in the block configuration after deleting the block.');
     // Ensure that the block visibility for language is gone from the UI.
     $this->drupalGet('admin/structure/block');
     $this->clickLink('Configure');
     $elements = $this->xpath('//details[@id="edit-visibility-language"]');
     $this->assertTrue(empty($elements));
 }
开发者ID:nstielau,项目名称:drops-8,代码行数:24,代码来源:BlockLanguageTest.php


示例19: testBlockInInvalidRegion

 /**
  * Tests that blocks assigned to invalid regions work correctly.
  */
 function testBlockInInvalidRegion()
 {
     // Enable a test block and place it in an invalid region.
     $block = $this->drupalPlaceBlock('test_html');
     $block->setRegion('invalid_region');
     $block->save();
     $warning_message = t('The block %info was assigned to the invalid region %region and has been disabled.', array('%info' => $block->id(), '%region' => 'invalid_region'));
     // Clearing the cache should disable the test block placed in the invalid region.
     $this->drupalPostForm('admin/config/development/performance', array(), 'Clear all caches');
     $this->assertRaw($warning_message, 'Enabled block was in the invalid region and has been disabled.');
     // Clear the cache to check if the warning message is not triggered.
     $this->drupalPostForm('admin/config/development/performance', array(), 'Clear all caches');
     $this->assertNoRaw($warning_message, 'Disabled block in the invalid region will not trigger the warning.');
     // Place disabled test block in the invalid region of the default theme.
     $block = Block::load($block->id());
     $block->setRegion('invalid_region');
     $block->save();
     // Clear the cache to check if the warning message is not triggered.
     $this->drupalPostForm('admin/config/development/performance', array(), 'Clear all caches');
     $this->assertNoRaw($warning_message, 'Disabled block in the invalid region will not trigger the warning.');
 }
开发者ID:papillon-cendre,项目名称:d8,代码行数:24,代码来源:BlockInvalidRegionTest.php


示例20: testBlockUserRoleDelete

 /**
  * Tests block_user_role_delete.
  */
 public function testBlockUserRoleDelete()
 {
     $role1 = Role::create(['id' => 'test_role1', 'name' => $this->randomString()]);
     $role1->save();
     $role2 = Role::create(['id' => 'test_role2', 'name' => $this->randomString()]);
     $role2->save();
     $block = Block::create(['id' => $this->randomMachineName(), 'plugin' => 'system_powered_by_block']);
     $block->setVisibilityConfig('user_role', ['roles' => [$role1->id() => $role1->id(), $role2->id() => $role2->id()]]);
     $block->save();
     $this->assertEqual($block->getVisibility()['user_role']['roles'], [$role1->id() => $role1->id(), $role2->id() => $role2->id()]);
     $role1->delete();
     $block = Block::load($block->id());
     $this->assertEqual($block->getVisibility()['user_role']['roles'], [$role2->id() => $role2->id()]);
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:17,代码来源:BlockTest.php



注:本文中的Drupal\block\Entity\Block类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Entity\Comment类代码示例发布时间:2022-05-23
下一篇:
PHP Utility\ArrayUtils类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap