Creating Custom Content Types Programmatically in Drupal 10

Content types are the backbone of content management in Drupal. In Drupal 10, you can create custom content types to structure and organize your content. This blog post will guide you through the process of creating content types programmatically in Drupal 10, allowing you to tailor your website's content structure to your specific needs.

Prerequisites

Before creating custom content types programmatically in Drupal 10, you should have the following:

  1. A working Drupal 10 or 9 website.
  2. Basic knowledge of Drupal site building and module development.
  3. Familiarity with PHP and Drupal's module structure.

Step 1: Define the Custom Module

To create a custom content type programmatically, you need to place the code in a custom module. If you don't already have a custom module, you can create one by following these steps:

  1. In your Drupal installation, navigate to the sites/all/modules directory (or your preferred module location).
  2. Create a new directory for your custom module. Give it a unique and descriptive name, such as my_custom_content_type.
  3. Inside your module directory, create a my_custom_content_type.info.yml file with the following content:
name: 'My Custom Content Type Module'
type: module
description: 'Defines custom content types programmatically.'
core_version_requirement: ^9 || ^10
package: Custom
dependencies:
  - node

This YAML file defines the basic information about your custom module.

Step 2: Create a Custom Content Type

To create a custom content type, you'll need to implement the hook_entity_type_build and hook_node_type_insert hooks within your custom module.

  1. Create a file named my_custom_content_type.module in your module directory.
  2. In this file, implement the hook_entity_type_build hook to define your custom content type. Here's an example:
/**
 * Implements hook_entity_type_build().
 */
function my_custom_content_type_entity_type_build(array &$entity_types) {
  $entity_types['node']->setClass('Drupal\my_custom_content_type\NodeTypeCustom');
}

This code defines a custom class, NodeTypeCustom, to handle the configuration of your custom content type.

  1. Create the NodeTypeCustom class in a file named NodeTypeCustom.php and place it in your module's directory:
namespace Drupal\my_custom_content_type;

use Drupal\node\NodeTypeBase;

/**
 * Provides a custom content type.
 */
class NodeTypeCustom extends NodeTypeBase {

  /**
   * {@inheritdoc}
   */
  public function postSave(NodeTypeInterface $node_type) {
    parent::postSave($node_type);

    // Define the custom content type settings.
    $config = \Drupal::configFactory()->getEditable('node.type.' . $node_type->id());
    $config->set('name', 'Custom Content Type');
    $config->set('description', 'A custom content type created programmatically.');
    $config->set('new_revision', TRUE);
    $config->save();
  }
}

n the NodeTypeCustom class, we extend the NodeTypeBase class to define the custom content type settings, such as the name and description.

Step 3: Enable and Verify Your Custom Content Type

  1. In your Drupal admin interface, navigate to Extend (admin/modules) and enable your custom module, "My Custom Content Type Module."
  2. After enabling the module, go to Structure > Content types (admin/structure/types) to see your custom content type listed as "Custom Content Type."

Conclusion

Creating custom content types programmatically in Drupal 10 allows you to define content structures that fit your specific project requirements. By following the steps outlined in this blog post, you can easily create and configure custom content types within your Drupal website, providing a flexible and tailored content management experience.

In Drupal 9 and 10, custom modules should be stored in the "modules/custom" directory rather than "sites/all/modules." Drupal's module directory structure has evolved, and the recommended practice is to place custom modules in the "modules/custom" directory to follow the modern Drupal standards.

So, if you're creating a custom module in Drupal 9 or 10, you should place it in the following directory:

/sites/all/modules/custom/

By following this structure, your custom modules will be more organized and adhere to Drupal's best practices, making it easier to manage and maintain your site's codebase.

Share on social media

Comment

Permalink

Посетите сайт клиника александра дзидзария - это современная цифровая клиника мужского и женского здоровья. Вы сможете сдавать комплексные чекапы, получайте точные результаты онлайн, онлайн консультации от специалистов различного профиля. Запись проводится онлайн, а работу осуществляем по Москве и всем регионам России. Узнайте подробнее на сайте.

Permalink

Посетите сайт Центр АвтоУслуги восстановление стс и вы найдете решение сложных вопросов по регистрационным действиям с автомобильным транспортом. Поставим на учет любое транспортное средство. Без очередей и без вашего присутствия в МРЭО. Сохраним за Вами старые номера. И поможем повесить их на новую машину. Помощь в быстром восстановлении или оформлении ПТС, СТС и прав. Прочие услуги на сайте.

Permalink

Ищете SMM и таргет в Алматы? Посетите https://kosincev.kz и вы найдете качественные услуги. У нас целая система: матрица контента, точная настройка рекламы и юнит-экономика в одной таблице. Вы заранее видите, сколько принесёт каждый вложенный тенге. Без слива бюджета на рекламу вслепую!

Permalink

Entdecke Replica Uhren https://uhrende.to nach Marke, Modellreihe und Stil. Alle Replica Rolex Modelle fur 269 € – mit kostenlosem Versand nach Deutschland und Zahlung per Nachnahme.

Permalink

Комфортная и доступная стоматология https://nova-51.ru в Мурманске. NOVA - современная стоматология по демократичным ценам! Широкий перечень услуг, в том числе и детская стоматология. Консультация, лечение, гигиена, имплантация, протезирование, исправление прикуса.

Permalink

An inside look at the retail Forex business https://showmeforex.com. Where broker revenue actually comes from. How clients are acquired, evaluated, and categorized. Which costs are disclosed in the fine print that no one reads. What kind of valuation is placed on a customer. And what happens to your data after your account is drained. No signals, no broker rankings, no affiliate links—nothing for sale.

Permalink

An automated trading notebook: https://smartforexarbitrage.com. A look at how robots, models, and arbitrage loops are actually built, their costs, and the conditions under which they stop working. No signals, no affiliate links, and no sales-driven rankings. Automated trading—covering robots, AI models, execution, and arbitrage—with the underlying arithmetic fully disclosed.

Permalink

At https://gnforexacademy.com, we teach Forex and crypto properly. We offer a structured curriculum designed for those starting from scratch. Each lesson is built around a single concept, a practical example, and a chart you can actually use. No signals, no affiliate links, and no promises of guaranteed returns.

Permalink

Если вы планируете квартиры https://zhkkvartiradom.ru открывает доступ к материалам о недвижимости. На страницах ресурса представлены особенности жилых комплексов. Перед покупкой важно обратить внимание на инфраструктуру. Изучайте материалы и находите полезную информацию для выбора подходящего жилья.

Permalink

Нужна консультация юриста? помощь юриста в Одинцово отличная возмодность получить ответы на правовые вопросы. Консультация доступна по вопросам долгов, банковских споров, семейных, трудовых, жилищных и других правовых ситуаций.

Permalink

Тем, кто ищет жилые комплексы https://novostroykatoday.ru может пригодиться обзорам новостроек. На страницах портала публикуются особенности новых ЖК. Во время поиска жилья стоит сравнить планировку. Просматривайте материалы и получайте больше информации о рынке новостроек.

Permalink

Сравниваете жилой комплекс https://zhksalezhilie.ru для знакомства с рынком жилья. На страницах ресурса освещаются стоимости жилья. При сравнении жилых комплексов рекомендуется сравнить срок сдачи. Тем, кто ищет жилье для себя особое значение могут иметь район. Читайте материалы и используйте полученную информацию при самостоятельном выборе недвижимости.

Permalink

Ищете квартиру в новом ЖК https://zhksaleflat.ru чтобы узнать больше о недвижимости. В тематических публикациях собраны сведения о планировках квартир. При оценке нового жилья рекомендуется проверить стоимость. Для семьи имеют значение район расположения. Просматривайте информацию и формируйте собственное представление об объекте.

Permalink

Если интересуют квартиру в новом доме https://novostroykatoday.ru может пригодиться обзорам новостроек. На страницах портала публикуются вопросы покупки жилья. При сравнении новостроек стоит сравнить инфраструктуру. Сравнивайте материалы и получайте больше информации о рынке новостроек.

Permalink

Если вы планируете современное жилье https://zhkkvartiradom.ru содержит тематическим публикациям. В материалах рассматриваются критерии выбора квартиры. При выборе объекта стоит учитывать инфраструктуру. Читайте материалы и находите полезную информацию для выбора подходящего жилья.

Permalink

Если интересуют современное жилье https://novostroykatoday.ru будет полезен обзорам новостроек. В разделах разбираются вопросы покупки жилья. Перед выбором квартиры важно обратить внимание на планировку. Читайте материалы и получайте больше информации о рынке новостроек.

Permalink

Когда вы выбираете современное жилье https://zhkkvartiradom.ru открывает доступ к тематическим публикациям. В материалах публикуются варианты квартир. При выборе объекта стоит учитывать инфраструктуру. Читайте материалы и находите полезную информацию для выбора подходящего жилья.

Permalink

Если интересуют рынок первичной недвижимости https://novostroykatoday.ru открывает доступ к полезным публикациям. В разделах можно узнать тенденции рынка недвижимости. Во время поиска жилья стоит сравнить условия покупки. Просматривайте материалы и получайте больше информации о рынке новостроек.

Permalink

Выбираете квартиру в новом доме https://zhksalezhilie.ru чтобы сравнить варианты. Среди представленной информации разбираются новостройках и ЖК. Во время поиска квартиры полезно учитывать расположение. Для покупателей первой квартиры часто важны район. Просматривайте материалы и используйте полученную информацию при самостоятельном выборе недвижимости.

Permalink

Планируете приобрести жилой комплекс https://zhksaleflat.ru чтобы узнать больше о недвижимости. В тематических публикациях разбираются особенностях новостроек. Перед заключением сделки полезно сопоставить расположение дома. Инвесторам имеют значение разные параметры объекта. Сопоставляйте информацию и сравнивайте доступные варианты.

Permalink

Если вы планируете приобрести рынок первичной недвижимости https://novostroykatoday.ru поможет найти полезным публикациям. На страницах портала рассматриваются характеристики квартир. Во время поиска жилья стоит сравнить расположение. Просматривайте материалы и получайте больше информации о рынке новостроек.

Permalink

Тем, кто ищет жилые комплексы https://zhkkvartiradom.ru открывает доступ к материалам о недвижимости. На сайте публикуются вопросы покупки жилья. Во время поиска жилья полезно сравнить сроки сдачи. Сравнивайте материалы и находите полезную информацию для выбора подходящего жилья.

Permalink

Задумались о покупке новостройку https://kupitkvartiruzdes.ru в удобном районе. Одним покупателям стоит учитывать транспортная доступность. Во время поиска подходящего жилья полезно сопоставить расстояние до транспорта. Кроме цены квартиры полезно изучить документах. В отдельных разделах разбираются практические аспекты покупки. Изучайте информацию, сопоставляйте характеристики и формируйте собственное представление о подходящем объекте.

Permalink

Подбираете дом https://zhksaledom.ru за городом. Во время поиска недвижимости стоит учитывать размер участка. В тематических разделах рассматриваются благоустройство участка. Покупателям загородного жилья имеют значение инфраструктура рядом. Просматривайте информацию и находите полезные сведения для осознанного выбора дома.

Permalink

Современная разработка сайтов https://volt-site.ru на Next.js и внедрение AI-агентов позволяет создавать быстрые веб-приложения, интегрировать умных чат-ботов и автоматизировать бизнес-процессы с идеальной SEO-оптимизацией.

Permalink

PerpFuse https://www.perpfuse.com is a real-time perpetual futures analytics platform for crypto traders. Compare funding rates, open interest, liquidity, spreads, execution costs, and cross-exchange arbitrage opportunities across leading CEX and DEX markets

Permalink

Собираетесь приобрести квартиру для семьи https://kupitkvartiruzdes.ru для себя. Одним покупателям стоит учитывать количество комнат. Если вариантов несколько полезно сопоставить площадь. Кроме цены квартиры не стоит забывать о коммунальных расходах. В тематических материалах разбираются особенности рынка недвижимости. Анализируйте информацию, сопоставляйте характеристики и формируйте собственное представление о подходящем объекте.

Permalink

Ищете частный дом https://zhksaledom.ru за городом. При сравнении объектов стоит учитывать площадь дома. На страницах ресурса рассматриваются варианты домов. Тем, кто планирует переезд могут быть важны условия подъезда. Сравнивайте информацию и находите полезные сведения для осознанного выбора дома.

Permalink

Современная разработка сайтов https://volt-site.ru на Next.js и внедрение AI-агентов позволяет создавать быстрые веб-приложения, интегрировать умных чат-ботов и автоматизировать бизнес-процессы с идеальной SEO-оптимизацией.

Add new comment