Skip to content
Menu
Open World News Open World News
  • Privacy Policy
Open World News Open World News

Winter storm brings icy conditions to Dallas

Posted on January 31, 2023 by Michael G

Video by via Dailymotion Source Extreme Meteorologist Reed Timmer was in Dallas, Texas, as an ice storm swept through the region on Jan. 30, causing treacherous travel conditions. Go to Source

Gravement malade, il demande de l’aide : “Je me suis fait opérer deux fois mais…”

Posted on January 31, 2023 by Michael G
▷▷ABONNEZ-VOUS ICI : https://bit.ly/2EcXtOL
Activez les NOTIFICATIONS pour ne pas manquer les prochaines vidéos
Retrouvez-nous sur https://www.SeneNews.com
Téléchargez notre App Android : http://bit.ly/2zzUxto
Téléchargez notre App sur IOS : http://apple.co/2zQjAco
Suivez nous sur Twitter : https://twitter.com/Senenews
Suivez nous sur Facebook : http://bit.ly/2zPqJJQ

Pretty Guardian Sailor Moon Cosmos The Movie (Trailer 1)

Posted on January 31, 2023 by Michael G
“Các chiến binh thủy thủ, trận chiến cuối cùng bắt đầu”

Video trailer đầu tiên đã mô tả nỗi kinh hoàng Sailor Galaxia đang đến gần và Eternal Sailor Moon phải đối mặt với số phận khắc nghiệt. Với mục tiêu chinh phục thiên hà, Galaxia cố gắng đánh cắp sức mạnh lớn nhất của Sailor Moon trong thiên hà, Pha Lê Bạc. Mặc dù phải đối mặt với nhiều khó khăn nhưng Sailor Moon vẫn tiếp tục tiến về phía trước, vì “tương lai” của cô ấy và vì “những người bạn” của cô ấy. Mời các bạn đón xem bộ phim tại rạp để biết số phận nào đang chờ đợi họ bên ngoài cuộc chiến.

Cùng với trailer là ca khúc chủ đề “「月の花」Tsuki no Hana” được viết cho bộ phim này. Bài hát được hát và viết bởi Daoko, nghệ sỉ nổi tiếng trong giới trẻ nhờ phần điệp khúc tuyệt đẹp và thế giới nhìn mơ mộng độc đáo.

Phim điện ảnh “Pretty Guardian Sailor Moon Cosmos”
《Phần 1》 Ngày 09 Tháng 6 Năm 2023 (Thứ Sáu)
《Phần 2》 Ngày 30 Tháng 6 Năm 2023 (Thứ Sáu)

STAFF
Tác phẩm gốc và giám sát: Naoko Takeuchi
Đạo diễn: Tomoya Takahashi
Kịch bản: Kazuyuki Fudeyasu
Thiết kế nhân vật: Kazuko Tadano
Âm nhạc: Koji Takanashi
Giám đốc nghệ thuật: Yumiko Kuga (Studio Jack)
Sản xuất phim hoạt hình: Toei Animation – Studio Deen

CAST
Kotono Mitsuishi, Kenji Nojima, Misato Fukuen, Hisako Kanemoto, Rina Sato, Ami Koshimizu, Shizuka Ito
Junko Minagawa, Sayaka Ohara, Ai Maeda, Yukiyo Fujii,
Nana Mizuki, Marina Inoue, Saori Hayami, Ayane Sakura/Megumi Hayashibara

ÂM NHẠC
Bài hát chủ đề “Tsuki no Hana” (EVIL LINE RECORDS)
Lời: Daoko, Seiichi Nagai
Sáng tác: Seiichi Nagai
Phối khí: agraph
Ca sĩ: Daoko

© Naoko Takeuchi, PNP / Pretty Guardian Sailor Moon Cosmos Movie Production Committee

SAILOR MOON VIETNAM – NO.1 FANDOM OF SAILOR MOON IN VIETNAM
▶ Wordpress: http://sailormoonvietnam.wordpress.com
▶ Facebook: http://facebook.com/sailormoonvietnam
▶ Twitter: http://twitter.com/sailormoonvn
▶ YouTube: https://youtube.com/@sailormoonvietnam
▶ Instagram: http://instagram.com/sailormoonvietnam
▶ Dailymotion: http://dailymotion.com/sailormoonvietnam
▶ Tumblr: http://sailormoonvietnam.tumblr.com
▶ TikTok: http://tiktok.com/@sailormoonvietnam
▶ SoundCloud: http://soundcloud.com/sailormoonvietnam

Please join us for the Moodle Academy webinar “Moodle offline – Reaching marginalised communities” on Thursday 2 February 2023, 9:00 UTC

Posted on January 31, 2023 by Michael G
by Sandra Matz.  

Please join us for the Moodle Academy webinar “Moodle offline – Reaching marginalised communities” on Thursday 2 February 2023, 9:00-10:00 UTC.

Inclusiv Education supports Save the Children projects in Low to Middle income countries around the world to reach even the most marginalised communities and provide them with education and professional development training. 

A key part of their strategy is to introduce their Inclusiv Learning Platform (iLP) and the iLP Box, that allows people to connect their devices (may it be laptops, tablets or phones) in an offline environment. The ILP Box has been configured for eLearning even when there is no internet or no electricity. They have installed Moodle as an offline Learning Management System, so children, teachers and parents can use either the browser or the app to connect to Moodle and access digital content.

During this webinar the presenters will be sharing their experiences with the challenges that they faced and the lessons they have learnt so far.

Note: This webinar is part of the course ‘Moodle Academy webinars‘. You have to be enrolled in the course to join the webinar.

You can register for the webinar at Moodle Academy.

Please join us for the Moodle Academy webinar “Moodle offline - Reaching marginalised communities” on Thursday 2 February 2023, 9:00 UTC

Igbo Proverbs, Idioms, and Phrases Podcast – The 2022 Recap

Posted on January 31, 2023 by Michael G
It has been an extraordinary journey for the Igbo Proverbs, Idioms, and Phrases podcast in the past year. Despite only releasing five episodes, the show…

Specbee: How to Create a Custom Module and add CSS Libraries in Drupal 9

Posted on January 31, 2023 by Michael G
How to Create a Custom Module and add CSS Libraries in Drupal 9
Nitin Lama
31 Jan, 2023

There are thousands of Drupal core and contributed modules to choose from, so why would anyone still want to build custom modules? The majority of the time it’s because website builders are looking for customized features to achieve specific functionalities or to stand out from the competition. For components that aren’t commonplace, a contributed or a core module does not always meet exact requirements. That’s when custom module development comes into play. 

Thanks to Drupal’s flexibility, you can now create powerful custom modules to add functionality and logic to meet your unique business requirements. Read on to find an easy step-by-step guide on custom module development and also applying CSS assets on your Drupal 9 website.

Specbee: How to Create a Custom Module and add CSS Libraries in Drupal 9

Drupal 9 Custom Module Development in 5 easy steps

Here are some essential steps you need to follow to get started with creating a custom module in Drupal 9.

Step 1: Create a custom folder for your module

 

file structure

Drupal 9 file structure

Step 2: Choose a short name or machine name for your module

Some important rules to follow before you choose a name for your module: 

  • It must start with a letter.
  • It must contain only lowercase letters, digits, and underscores.
  • It must not contain any spaces.
  • It must not be longer than 50 characters.
  • It must be unique. Your module should not have the same short name as any other module, theme, theme engine, or installation profile you will use on the site.
  • It should not be any of the reserved terms: src, lib, vendor, assets, CSS, files, images, js, misc, templates, includes, fixtures, or Drupal.

Let’s name it: “hello_module”.

Step 3: Create a .info.yml file

Your .info.yml file holds the module information, compatibility, and dependencies information. The .info.yml file is created to notify Drupal about its existence in the system and provide information for the Drupal Web UI administration pages. 

Our file name: hello_module.info.yml

name: Hello Module
type: module
description: 'First custom drupal 9 module'
package: custom
core_version_requirement: ^9 || ^10

The .info.yml file comprises 3 things: key, separator, value.
Where the key is the name, the separator is ‘:’ (colon) and the value is “Hello Module”.

Step 4: Create a Controller

Controllers are responsible for controlling the flow of the application and its logic. Controllers process user requests and determine the appropriate course of action. They can perform one or more actions and return different results to a particular request. The controller in our module is responsible for generating the body and sending it back to the page. 

Now let’s create a file in a folder structured as /src/Controller/WelcomeController.php

hello world

 

Our file name: WelcomeController.php

 $body
    ];
  }
}

Step 5: Create a routing.yml file:

A route specifies the code that should be executed to generate the response when a URI is requested.

The .routing.yml file is created to define routes. Each route is defined as a machine name in the form of my_module_name.route_name (for example hello_module.welcome) 

hello_module.welcome:
  path: '/welcome'
  defaults:
    _controller: 'Drupalhello_moduleControllerWelcomeController::welcome'
    _title: 'Welcome to techX session'
  requirements:
    _permission: 'access content'

This is how our overall hello_module module structure looks like:

module structure

 

Finally, visiting /welcome will call the Controller that you created and will display the body with the title.

Result:

Module Result

Attaching libraries to apply CSS

There are multiple ways to apply CSS to a custom module. One way would be to search for the class by inspecting the element and then applying the CSS to it. Another way is  to create a template and add your own unique class and target that specific class. The latter is a better way than the former as you’ll have your own unique class and there will be no way that your change will apply to some other pages.

To create a library you need to create a new file as “module_name.libraries.yml” and place it in your custom module folder. You now need a CSS file in which you will write your CSS code. Create a folder called CSS and place “style.css” inside that folder. Now you will also need to create a custom template. Create a custom template as “welcome-body.html.twig” and place it inside the templates folder (as shown below).

module libraries

 

Our file: hello_module.libraries.yml

custom:
  version: 1.x
  css:
    theme:
      css/style.css: {}

So now, Drupal doesn’t know that this template exists. To let Drupal know, you need to create a “module_name.module” file for any custom changes and use hook_theme() for the implementation.

Our file name: hello_module.module

function hello_module_theme() {
  return [
    'welcome_body' => [
      'template' => 'welcome-body',
      'variables' => [
        'body' => 'Default body text'
      ]
    ]
  ];
}

Our template file: welcome-body.html.twig

{{ body }}

Now, let’s add red color to the body text of our template and target the “body-text” class in the template.

Our CSS file: style.css

.body-text {
  color: red
}

Now, you need to attach the library to our controller and call the theme inside it so that the custom template is called.

namespace Drupalhello_moduleController;

class WelcomeController {

  public function welcome() {

    $body = "Lorem Ipsum has been the industry's standard dummy text ever since
    the 1500s, when an unknown printer took a galley of type and scrambled it to
    make a type specimen book. It has survived not only five centuries, but also
    the leap into electronic typesetting, remaining essentially unchanged. It
    was popularized in the 1960s with the release of Letraset sheets containing
    Lorem Ipsum passages, and more recently with desktop publishing software
    like Aldus PageMaker including versions of Lorem Ipsum.";

    return [
      '#theme' => 'welcome_body',
      '#body' => $body,
      '#attached' => [
        'library' => [
          'hello_module/custom',
        ],
      ]
    ];

  }
}

Here’s the result after applying the CSS:

result with css

Final Thoughts

Flexibility to create custom modules that add specific functionality unique to a business requirement is one of Drupal’s power features. Custom modules allow you to extend Drupal’s core functionality and add new features and logic to a website. We hope this article will help you create your first custom module on Drupal 9. If you found this useful, consider subscribing to our weekly newsletter where we churn out great stuff every week and send it straight to your inbox!

If you’re looking for a Drupal development agency that can help you build custom modules to accommodate your growing business needs, we’d love to talk!

Author: Nitin Lama

Meet Nitin Lama, a backend Drupal Developer at Specbee who believes progressing one day at a time could go a long way. Swimming is his hobby, but he’s a huge music lover and enjoys producing and exploring new music. Music and cooking act as therapy for him. Space and tech are his best conversation starters when meeting new people. If dreams came true, he’d be traveling to a Voyager station!

Drupal 9
Drupal 9 Module
Drupal Development
Drupal Planet

 

Recent Blogs

Image
Custom module add css drupal 9 teaser

How to Create a Custom Module and add CSS Libraries in Drupal 9

Image
apply a patch with Git Diff teaser

How to create and apply a patch with Git Diff and Git Apply commands for your Drupal website

Image
Drupal 9 on windows teaser

Installing Drupal 9 on Windows Subsystem for Linux from Scratch

Want to extract the maximum out of Drupal?
TALK TO US

Featured Success Stories

semi-casestudy

A Drupal powered multi-site, multi-lingual platform to enable a unified user experience at SEMI.

ux-magazine

Discover how our technology enabled UX Magazine to cater to their massive audience and launch outreach programs.

Flipkart-client

Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.

VIEW ALL CASE STUDIES

ruby-install 0.9.0 released!

Posted on January 31, 2023 by Michael G
ruby-install 0.9.0 has been released! Contains usability improvements, some new configurable environment variables, and new --update and --debug options.

Game of Trees 0.83 released

Posted on January 31, 2023 by Michael G

Version 0.83
of
Game of Trees
has been released (and the port
updated):

Read more…

5 great Perl scripts to keep in your sysadmin toolbox

Posted on January 31, 2023 by Michael G

Check out five Perl gems that help you work better, faster. Read More at Enable Sysadmin

The post 5 great Perl scripts to keep in your sysadmin toolbox appeared first on Linux.com.

The ultimate list of reactions to the Cyber Resilience Act

Posted on January 31, 2023 by Michael G
The ultimate list of reactions to the Cyber Resilience Act

The European Commission’s proposed Cyber Resilience Act (CRA) as drafted may harm Open Source, and perhaps all other non-industrial software. A list of most relevant responses.

  • Previous
  • 1
  • …
  • 1,210
  • 1,211
  • 1,212
  • 1,213
  • 1,214
  • 1,215
  • 1,216
  • …
  • 1,531
  • Next

Recent Posts

  • [TUT] LoRa & LoRaWAN – MikroTik wAP LR8 kit mit The Things Network verbinden [4K | DE]
  • Mercado aguarda Powell e olha Trump, dados e Haddad | MINUTO TOURO DE OURO – 11/02/25
  • Dan Levy Gets Candid About Learning How To Act Differently After Schitt’s Creek: ‘It’s Physically…
  • Building a Rock Shelter & Overnight Stay in Heavy Snow 🏕️⛰️
  • Les milliardaires Elon Musk et Xavier Niel s’insultent copieusement

Categories

  • Android
  • Linux
  • News
  • Open Source
©2025 Open World News | Powered by Superb Themes
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT