本文整理汇总了PHP中node_type_save函数的典型用法代码示例。如果您正苦于以下问题:PHP node_type_save函数的具体用法?PHP node_type_save怎么用?PHP node_type_save使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了node_type_save函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addNodeType
function addNodeType()
{
$type = new stdClass();
$name = strtolower($this->randomName());
$type->type = trim($name);
$type->name = trim($name);
$type->orig_type = trim("");
$type->old_type = $type->type;
$type->description = $this->randomName(32, "description ... ");
$type->help = $type->description = $this->randomName(32, "help ... ");
$type->min_word_count = 0;
$type->title_label = "Title";
$type->body_label = "Body";
$type->module = 'node';
$type->has_title = $type->has_body = TRUE;
$type->custom = "";
$type->modified = TRUE;
$type->locked = TRUE;
$status = node_type_save($type);
$this->assertTrue(SAVED_NEW == $status, "Created node-type {$name}.");
$this->_cleanupNodeTypes[] = $name;
$types = variable_get('og_node_types', array());
$types[$name] = $name;
variable_set('og_node_types', $types);
return $name;
}
示例2: webformUserCreateType
/**
* Create a petition content type and webform user enable it.
*/
protected function webformUserCreateType()
{
$type = node_type_set_defaults();
$type->name = t('Petition');
$type->type = 'petition';
$type->description = t('Webform user petition type.');
$type->title_label = t('Title');
$type->has_title = $type->title_label != '';
$type->base = 'node_content';
$type->custom = TRUE;
$type->modified = TRUE;
// Save or reset persistent variable values.
$variables = array('node_submitted' => 0, 'comment' => COMMENT_NODE_HIDDEN, 'webform_user' => 1, 'webform_user_default_fields' => array('webform_user_all_profile_fields' => 'webform_user_all_profile_fields'));
foreach ($variables as $key => $value) {
$variable_new = $key . '_' . $type->type;
if (is_array($value)) {
$value = array_keys(array_filter($value));
}
variable_set($variable_new, $value);
}
$status = node_type_save($type);
node_types_rebuild();
node_add_body_field($type);
// Add as a webform.
$webform_node_types = variable_get('webform_node_types', array('webform'));
$webform_node_types_primary = variable_get('webform_node_types_primary', array('webform'));
$webform_node_types = array_merge($webform_node_types, array('petition'));
$webform_node_types_primary = array_merge($webform_node_types_primary, array('petition'));
variable_set('webform_node_types', array_unique($webform_node_types));
variable_set('webform_node_types_primary', array_unique($webform_node_types_primary));
}
示例3: build
public function build()
{
$vars = get_object_vars($this);
$vars['type'] = $vars['bundle'];
$vars['name'] = $vars['label'];
unset($vars['bundle']);
unset($vars['label']);
node_type_save((object) $vars);
}
示例4: createTestContentType
/**
* Create test content type.
*/
protected static function createTestContentType()
{
$name = self::randomName(8);
$type = (object) array('type' => $name, 'name' => $name, 'base' => 'node_content', 'description' => '', 'help' => '', 'title_label' => 'Title', 'body_label' => 'Body', 'has_title' => 1, 'has_body' => 1, 'orig_type' => '', 'old_type' => '', 'module' => 'node', 'custom' => 1, 'modified' => 1, 'locked' => 0);
node_type_save($type);
node_types_rebuild();
node_add_body_field($type);
self::$contentType = $type;
}
示例5: save
/**
* Saves the current content type to the database.
*
* @throws \Exception
*/
public function save()
{
// Make sure the definition is valid.
$validation = $this->validate();
if ($validation !== true) {
throw new \Exception("The content type is invalid. Reason: {$validation}. Cannot save.");
}
$type = node_type_set_defaults($this->definition);
node_type_save($type);
}
示例6: drupalCreateContentType
/**
* Creates a custom content type based on default settings.
*
* @param settings
* An array of settings to change from the defaults.
* Example: 'type' => 'foo'.
* @return object Created content type.
*/
function drupalCreateContentType($settings = array())
{
// find a non-existent random type name.
do {
$name = strtolower($this->randomName(3, 'type_'));
} while (node_get_types('type', $name));
// Populate defaults array
$defaults = array('type' => $name, 'name' => $name, 'description' => '', 'help' => '', 'min_word_count' => 0, 'title_label' => 'Title', 'body_label' => 'Body', 'has_title' => 1, 'has_body' => 1);
// imposed values for a custom type
$forced = array('orig_type' => '', 'old_type' => '', 'module' => 'node', 'custom' => 1, 'modified' => 1, 'locked' => 0);
$type = $forced + $settings + $defaults;
$type = (object) $type;
node_type_save($type);
node_types_rebuild();
return $type;
}
示例7: backdropCreateContentType
/**
* Creates a custom content type based on default settings.
*
* @param $settings
* An array of settings to change from the defaults.
* Example: 'type' => 'foo'.
* @return
* Created content type.
*/
protected function backdropCreateContentType($settings = array())
{
// Find a non-existent random type name.
do {
$name = strtolower($this->randomName(8));
} while (node_type_get_type($name));
// Populate defaults array.
$defaults = array('type' => $name, 'name' => $name, 'base' => 'node_content', 'description' => '', 'help' => '', 'title_label' => 'Title', 'body_label' => 'Body', 'has_title' => 1, 'has_body' => 1, 'is_new' => TRUE);
// Imposed values for a custom type.
$forced = array('orig_type' => '', 'old_type' => '', 'module' => 'node', 'custom' => 1, 'modified' => 1, 'locked' => 0);
$type = $forced + $settings + $defaults;
$type = (object) $type;
$saved_type = node_type_save($type);
menu_rebuild();
node_add_body_field($type);
$this->assertEqual($saved_type, SAVED_NEW, t('Created content type %type.', array('%type' => $type->type)));
// Reset permissions so that permissions for this content type are available.
$this->checkPermissions(array(), TRUE);
return $type;
}
示例8: saveToActiveStore
/**
* Implements Drupal\configuration\Config\Configuration::saveToActiveStore().
*/
public function saveToActiveStore(ConfigIteratorSettings &$settings)
{
$info = (object) $this->getData();
$info->base = 'node_content';
$info->module = 'node';
$info->custom = 1;
$info->modified = 1;
$info->locked = 0;
node_type_save($info);
$settings->addInfo('imported', $this->getUniqueId());
}
示例9: array
<?php
$types = array(array('type' => 'page', 'name' => 'Basic page', 'base' => 'node_content', 'description' => 'Use <em>basic pages</em> for your static content, such as an \'About us\' page.', 'custom' => 1, 'modified' => 1, 'locked' => 0), array('type' => 'article', 'name' => 'Article', 'base' => 'node_content', 'description' => 'Use <em>articles</em> for time-sensitive content like news, press releases or blog posts.', 'custom' => 1, 'modified' => 1, 'locked' => 0));
foreach ($types as $type) {
$type = node_type_set_defaults($type);
node_type_save($type);
node_add_body_field($type);
}
示例10: lms_create_content_type
/**
* lms_create_content_type create content type by given information.
*
* @param mixed $content_type_machine_name
* @param mixed $content_type_display_name
* @param mixed $content_type_desc
* @return void
*/
function lms_create_content_type($content_type_machine_name, $content_type_display_name, $content_type_desc, $og_type = 'group_post_standard') {
// 0. delete the existing type with the same name if exists
node_type_delete($content_type_machine_name);
// 1. Create content type firstly.
$node_type = array(
'type' => $content_type_machine_name,
'name' => $content_type_display_name,
'module' => 'node',
'description' => $content_type_desc,
'custom' => TRUE,
'modified' => TRUE,
'locked' => FALSE,
);
$node_type = (object)_node_type_set_defaults($node_type);
node_type_save($node_type);
// // 2. Add fileds to the content type
// $instance = array(
// 'field_name' => 'lms_node_type',
// 'entity_type' => 'node',
// 'bundle' => $content_type_machine_name,
// 'label' => t('lms node name'),
// 'description' => t('indicator of the node type'),
// 'widget' => array(
// 'type' => 'text_textfield',
// 'weight' => 10,
// ),
// );
// field_create_instance($instance);
node_types_rebuild();
menu_rebuild();
// set og type
if ($og_type && $og_type != 'ommitted') {
lms_set_content_type_as_og_group_post($content_type_machine_name, $og_type);
}
}
示例11: synchronize
public function synchronize(NodeInterface $node, Context $context, $dirtyAllowed = false)
{
/* @var $node EntityNode */
$bundle = $node->getName();
$object = $node->getValue();
if (!is_array($object)) {
$object = array();
}
if ($node->isMerge() && ($existing = $this->getExistingObject($node, $context))) {
$info = array('type' => $bundle, 'custom' => false) + $object + $existing;
} else {
$info = array('type' => $bundle, 'custom' => false) + $object + self::$defaults + array('module' => 'node', 'orig_type' => null);
}
if (empty($info['name'])) {
$context->logWarning(sprintf('%s: has no name', $node->getPath()));
$info['name'] = $bundle;
}
node_type_save((object) $info);
if ($node->hasChild('settings')) {
$settings = $node->getChild('settings')->getValue();
if (!is_array($settings)) {
$context->logWarning(sprintf('%s: invalid settings structure, should be an array', $node->getPath()));
}
}
foreach (self::$settings as $key => $defaultValue) {
$variable = 'node_' . $key . '_' . $node->getBundle();
if (isset($settings[$key])) {
variable_set($variable, $settings[$key]);
} else {
variable_set($variable, $defaultValue);
}
}
}
示例12: iAddTheAvailabilityReferenceFieldReferencingToUnitsInPageContent
/**
* Adds availability reference field to a content type.
*
* @When /^I add the "(?<field_name>[^"]*)" availability reference field referencing to "(?<unit_types>[^"]*)" units in "(?<content_type>[^"]*)" content$/
*/
public function iAddTheAvailabilityReferenceFieldReferencingToUnitsInPageContent($field_name, $unit_types, $content_type)
{
// Create the content type.
// Make sure a testimonial content type doesn't already exist.
if (!in_array($content_type, node_type_get_names())) {
$type = array('type' => $content_type, 'name' => $content_type, 'base' => 'node_content', 'custom' => 1, 'modified' => 1, 'locked' => 0);
$type = node_type_set_defaults($type);
node_type_save($type);
node_add_body_field($type);
$this->content_types[] = $content_type;
}
// Create field ('rooms_booking_unit_options') if not exist.
if (field_read_field($field_name) === FALSE) {
$field = array('field_name' => $field_name, 'type' => 'rooms_availability_reference', 'cardinality' => -1, 'settings' => array('referenceable_unit_types' => drupal_map_assoc(explode(',', $unit_types))));
field_create_field($field);
$this->fields[] = $field_name;
}
if (field_read_instance('node', $field_name, $content_type) === FALSE) {
// Create the instance on the bundle.
$instance = array('field_name' => $field_name, 'entity_type' => 'node', 'label' => 'Availability reference', 'bundle' => $content_type, 'required' => FALSE, 'widget' => array('type' => 'rooms_availability_reference_autocomplete'));
field_create_instance($instance);
}
}