PHP Master | Membuat jenis nod Drupal baru
Drupal adalah sistem pengurusan kandungan yang sangat fleksibel untuk membina laman web. Ia menyediakan banyak ciri hebat dari kotak yang membolehkan kami membina tapak yang komprehensif tanpa menulis sebarang kod PHP. Ia juga menyediakan ciri -ciri untuk menambah lebih banyak fungsi melalui penggunaan modul.
Secara lalai, jenis nod Drupal adalah artikel dan halaman. Ini mungkin baik untuk tapak asas, tetapi jika kita merancang untuk mempunyai laman web yang lebih kompleks, kami akan mahu menambah jenis nod yang berbeza. Kita juga boleh menentukan mereka dengan menulis modul!
Dalam artikel ini, anda akan melihat cara menulis modul Drupal tersuai yang akan memasang jenis nod baru menggunakan Drupal Hooks dan API.
- Drupal adalah sistem pengurusan kandungan yang fleksibel yang membolehkan penciptaan jenis nod baru melalui menulis modul tersuai; Ini bermanfaat untuk membina laman web yang lebih kompleks di luar artikel lalai dan jenis nod halaman.
- Membuat jenis nod baru melibatkan membuat modul dengan tiga fail: Cangkuk Drupal yang digunakan oleh modul).
- Jenis nod baru dipasang menggunakan cangkuk Drupal dan API, dan medan seperti tajuk, keterangan, dan lain -lain, ditakrifkan. Modul ini juga harus memasukkan kod untuk membersihkan sebarang data atau jenis yang ditambah apabila ia tidak dipasang.
- Bidang tambahan boleh ditambah ke jenis nod baru dengan membuat contoh medan dan medan dalam fail .install modul. Ini membolehkan kandungan yang lebih disesuaikan, seperti harga produk dan kuantiti dalam jenis nod produk.
Mari kita mulakan dengan mewujudkan struktur asas modul di mana kita akan membuat jenis kandungan baru kita. Untuk membuat modul, di Direktori Laman/Semua/Modul Pemasangan Drupal anda buat direktori baru bernama ProductCustomType. Dalam folder itu, kemudian buat tiga fail:
- ProductCustomType.info - akan mengandungi maklumat mengenai modul supaya Drupal akan mengenalinya dan menunjukkannya dalam senarai.
- ProductCustomType.install - akan mempunyai butiran mengenai perkara yang akan anda pasang atau nyahpasang untuk modul.
- ProductCustomType.Module - akan mengandungi kod untuk melaksanakan cangkuk Drupal yang digunakan oleh modul.
- Sebaik sahaja anda telah membuat direktori, buka ProductCustomType.info dan tambahkan kod berikut kepadanya:
name = productcustomtype description = A new content type of Product package = Product Custom node Type core = 7.x files[] = productcustomtype.install files[] = productcustomtype.module
memasang dan menyahpasang nod
Sebaik sahaja kita mempunyai fail asas untuk modul di tempat, kita boleh mula menulis kod untuk memasang jenis nod tersuai. Cangkuk pertama yang perlu kita laksanakan ialah hook_node_info. Menggunakan cangkuk ini, modul boleh menentukan satu atau lebih jenis nod di Drupal. Pelaksanaan Hook mengembalikan array yang menentukan jenis nod baru yang modul akan ditambah.
Untuk melaksanakan cangkuk ini, tambahkan kod berikut ke ProductCustomType.Module:
name = productcustomtype
description = A new content type of Product
package = Product Custom node Type
core = 7.x
files[] = productcustomtype.install
files[] = productcustomtype.module
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Implements hook_node_info()
</span></span><span><span> */
</span></span><span><span>function productcustomtype_node_info() {
</span></span><span> <span>return array(
</span></span><span> <span>'product' => array(
</span></span><span> <span>'name' => t('Product'),
</span></span><span> <span>'base' => 'product',
</span></span><span> <span>'description' => t('You can define new Products here'),
</span></span><span> <span>'has_title' => TRUE,
</span></span><span> <span>'title_label' => t('Product title')
</span></span><span> <span>)
</span></span><span> <span>);
</span></span><span><span>}</span></span>
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Implement hook_form()
</span></span><span><span> */
</span></span><span><span>function product_form($node, $form_state) {
</span></span><span> <span>return node_content_form($node, $form_state);
</span></span><span><span>}</span></span>
Jika kita menambah produk baru, ia juga akan dilihat di halaman rumah Drupal.
Semua modul di Drupal harus membersihkan sebarang data yang mereka buat dalam pangkalan data atau mana -mana jenis yang telah mereka tambah apabila ia dipasang oleh pengguna. Untuk menyokong ini, kami perlu melaksanakan hook_uninstall dalam fail ProductCustomType.install kami seperti berikut:
name = productcustomtype
description = A new content type of Product
package = Product Custom node Type
core = 7.x
files[] = productcustomtype.install
files[] = productcustomtype.module
Mewujudkan bidang tambahan
Sebaik sahaja kami telah menambah jenis nod baru, kami mempunyai fungsi yang serupa dengan nod. Tetapi bagaimana jika kita mahu menambah lebih banyak medan bergantung pada jenis nod? Sebagai contoh, jika ia adalah jenis produk maka kita mungkin mahu menambah dua lagi bidang seperti harga dan kuantiti.
Untuk ini, kita perlu terlebih dahulu membuat medan dan kemudian membuat contoh medan pada jenis nod kita. Kami menulis dua fungsi baru dalam Fail ProductCustomType.Install untuk menentukan bidang dan contoh medan.
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Implements hook_node_info()
</span></span><span><span> */
</span></span><span><span>function productcustomtype_node_info() {
</span></span><span> <span>return array(
</span></span><span> <span>'product' => array(
</span></span><span> <span>'name' => t('Product'),
</span></span><span> <span>'base' => 'product',
</span></span><span> <span>'description' => t('You can define new Products here'),
</span></span><span> <span>'has_title' => TRUE,
</span></span><span> <span>'title_label' => t('Product title')
</span></span><span> <span>)
</span></span><span> <span>);
</span></span><span><span>}</span></span>
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Implement hook_form()
</span></span><span><span> */
</span></span><span><span>function product_form($node, $form_state) {
</span></span><span> <span>return node_content_form($node, $form_state);
</span></span><span><span>}</span></span>
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Implements hook_install().
</span></span><span><span> */
</span></span><span><span>function productcustomtype_install() {
</span></span><span> <span>node_types_rebuild();
</span></span><span> <span>$types = node_type_get_types();|
</span></span><span> <span>node_add_body_field($types['product']);
</span></span><span><span>}</span></span>
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * Implements hook_uninstall().
</span></span><span><span> */
</span></span><span><span>function productcustomtype_uninstall() {
</span></span><span> <span>$ournewtype = 'product';
</span></span><span> <span>$sql = 'SELECT nid FROM {node} n WHERE n.type = :type';
</span></span><span> <span>$result = db_query($sql, array(':type' => $ournewtype));
</span></span><span> <span>$nodeids = array();
</span></span><span> <span>foreach ($result as $row) {
</span></span><span> <span>$nodeids[] = $row->nid;
</span></span><span> <span>}
</span></span><span> <span>node_delete_multiple($nodeids);
</span></span><span> <span>node_type_delete($ournewtype);
</span></span><span><span>}</span></span>
Selepas kita menyimpan nod dan melihatnya dalam pratonton, kita akan melihat bidang seperti berikut:
Kesimpulan
Drupal CMS menyediakan banyak cangkuk berguna dan API yang kuat yang membolehkan kami melakukan pelbagai penyesuaian. Dalam artikel ini, kami dapat mencipta jenis node yang baru yang akan muncul di bahagian kandungan Drupal. Dan menggunakan API Drupal, kami juga melampirkan medan ke jenis nod baru ini supaya sesiapa sahaja boleh menambah kandungan menggunakan jenis nod baru. Oleh itu, bersenang -senang membuat jenis nod baru anda untuk laman Drupal anda.
imej melalui Fotolia
soalan yang sering ditanya mengenai membuat jenis nod Drupal baru
Apakah jenis nod Drupal dan mengapa penting? oleh konteks maklumat. Ini boleh menjadi catatan blog yang mudah, artikel, cerita berita, topik forum, atau tutorial, antara lain. Jenis nod adalah penting kerana mereka menyediakan cara berstruktur untuk memasukkan, memaparkan, dan menguruskan kandungan dalam Drupal. Mereka membenarkan penyesuaian input data, pengesahan, dan tetapan paparan, yang dapat meningkatkan pengalaman pengguna dan fungsi keseluruhan tapak Drupal. >
Mewujudkan jenis nod baru dalam Drupal adalah proses yang mudah. Pertama, navigasi ke menu "Struktur" di Dashboard Drupal Admin anda, kemudian pilih "Jenis Kandungan". Klik pada butang "Tambah Jenis Kandungan". Anda akan diminta untuk mengisi nama, keterangan, dan tetapan untuk jenis nod baru anda. Sebaik sahaja anda telah mengisi maklumat yang diperlukan, klik pada butang "Simpan dan Urus Bidang" untuk menambah medan ke jenis nod baru anda. 🎜> Ya, anda boleh menyesuaikan medan dalam jenis nod Drupal anda. Selepas membuat jenis nod baru, anda boleh menambah, mengedit, atau memadam medan yang diperlukan. Ini membolehkan anda menyesuaikan jenis nod untuk keperluan kandungan khusus anda. Sebagai contoh, anda mungkin menambah medan teks untuk ringkasan artikel, medan imej untuk imej yang dipaparkan, atau medan tarikh untuk tarikh penerbitan.
Drupal menyediakan tab "Urus Paparan" untuk setiap jenis nod. Ini membolehkan anda mengawal bagaimana setiap medan dipaparkan apabila nod dilihat. Anda boleh menyesuaikan label, format, dan susunan setiap medan. Anda juga boleh mengumpulkan medan ke dalam mod paparan tersuai, seperti pandangan penggoda atau paparan kandungan penuh. Cara yang kuat untuk membuat, mengemas kini, dan memadam nod secara pemrograman. Ini berguna untuk tugas -tugas seperti mengimport kandungan dari sistem lain, menghasilkan data ujian, atau membuat aliran kerja tersuai. API Node adalah sebahagian daripada sistem teras Drupal, jadi ia boleh didapati dalam semua pemasangan Drupal.
Apakah jenis nod teras di Drupal? Ini menyediakan titik permulaan untuk menguruskan kandungan di Drupal. Walau bagaimanapun, anda juga boleh membuat jenis nod tersuai anda sendiri untuk memenuhi keperluan khusus anda.
Bagaimana saya boleh mengawal akses ke nod Drupal saya? Anda boleh menetapkan kebenaran berdasarkan peranan pengguna, membolehkan anda mengawal siapa yang boleh melihat, membuat, mengedit, dan memadam nod setiap jenis. Anda juga boleh menggunakan API akses nod Drupal untuk membuat peraturan akses yang lebih kompleks.
Bolehkah saya menggunakan modul pandangan Drupal untuk memaparkan nod saya? . Anda boleh membuat pandangan tersuai yang memaparkan nod berdasarkan pelbagai kriteria, seperti jenis nod, status penerbitan, atau pengarang. Anda juga boleh menyesuaikan format paparan, penyortiran, dan penomboran pandangan anda. Rasa nod anda. Anda boleh membuat templat tersuai untuk setiap jenis nod, dan anda boleh menggunakan API tema Drupal untuk menambah CSS dan JavaScript tersuai ke nod anda. > Ya, seni bina modular Drupal membolehkan anda melanjutkan fungsi nod anda dengan modul. Terdapat beribu -ribu modul yang disumbangkan yang boleh menambah ciri -ciri seperti galeri imej, komen, penilaian, dan integrasi media sosial kepada nod anda. Anda juga boleh membuat modul tersuai anda sendiri jika anda mempunyai keperluan khusus yang tidak dipenuhi oleh modul yang tersedia.
Atas ialah kandungan terperinci PHP Master | Membuat jenis nod Drupal baru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)
