Artikel ini adalah tentang anggota baru dari toko Drupal Commerce, biasanya ketika pengguna menciptakan peran admin baru, dan mencoba untuk mendapatkan ke toko, aksi akan terbatas,” Akses Ditolak “pesan. akses pengguna ke toko komersial ia harus menjadi anggota toko. Mari kita lihat bagaimana memecahkan masalah ini

.

“membuat toko” member_id dan user_id harus dikembangkan commerce_store_role “tabel hook_entity_insert () untuk mengumpulkan semua pengguna ID administrasi dengan meja member_id dan admin id konsumen Masukkan nama pengguna, ID negara atau .. ID admin meja commerce_store_user_role, pengguna akan menerima toko komersial.

Di dalam hook_entity_insert () pelaksanaan, kita perlu membawa konsumen, yang memiliki administrator toko komersial dan anggota toko untuk administrator peran, permanen “COMMERCE_STORE_ADMINISTRATOR_ROLE” mengacu pada nama peran administrator toko.

  / ** * Implements hook_entity_insert (). * / fungsi custom_module_entity_insert ($ subjek, $ type) {if ($ type == 'commerce_store ') {$ query = db_select ("user", "pengguna"); $ Query- & amp; amp; gt; innerJoin (users_roles, users_roles, users_roles.uid users.uid = '); $ Query- & amp; amp; gt; innerJoin ("peran", "peran", "role.rid users_roles.rid = '); $ Query- & amp; amp; gt; negara (role.name, administrator) $ Query- & amp; amp; gt; Fields ( 'pengguna', array ("uid)); $ Row = $ query- & amp; amp; gt; mengeksekusi (); $ = $ Admin_users_list rows- & amp; amp; gt; FetchAll (); $ Query = db_select (commerce_store_role, com_str_rol '); $ Query- & amp; amp; gt; amp ;, Negara (com_str_rol.name "Array (COMMERCE_STORE_AUTHENTICATED_ROLE)) $ query- & amp (; amp; com_str_rol.store_id, Entity $ GT & amp; ID); negara gt $ Query- & amp; amp; gt; Fields (com_str_rol , array ("RID")); $ = $ query- Member_rid_query & amp; amp; gt; mengeksekusi (); $ = $ Member_rid_lists member_rid_query- & amp; amp; gt; fetchAll (); foreach ($ member_rid_lists dari $ member_rid_list) { $ = $ member_rid member_rid_list- & amp; amp; gt; membuang;} $ query = db_select (commerce_store_role, com_str_rol "); $ Query- & amp; amp; gt; Status (com_str_rol.name, array (COMMERCE_STORE_ADMINISTRATOR_ROLE)); $ Query- & amp; amp; gt; Negara (com_str_rol.store_id $ Entity & amp; amp; gt; ID) $ query- & amp; amp; gt; Fields (com_str_rol, array ("RID")); Admin_rid_query $ = $ query- & amp; amp; gt; mengeksekusi (); $ = $ Admin_rid_lists admin_rid_query- & amp; amp; gt; FetchAll (); foreach ($ admin_rid_lists admin_rid_list dari $) {$ = $ admin_rid admin_rid_list- & amp; amp; gt; Singkirkan; } Foreach ($ admin_users_list admin_user dari $) {$ admin_users [] = $ admin_user- & amp; amp; gt; uid; if ((isset ($ member_rid)) || (isset ($ admin_rid))) {db_insert (commerce_store_user_role) - & amp; amp; gt; bidang (array ('uid' = & amp; amp; gt; $ admin_user- & amp; amp; gt; uid "menyingkirkan" = & amp; amp; gt; $ member_rid)) - & amp; amp; gt; mengeksekusi (); db_insert ("commerce_store_user_role ') - & amp; amp; gt; bidang (array (" UID "= & amp; amp; gt; $ admin_user- & amp; amp; gt; FAZ menyingkirkan' = & amp; amp; gt; $ admin_rid)) - & amp; amp; gt; mengeksekusi (); (; amp; array ($ Entity & amp gt; Id)); commerce_store_access_rebuild_permissions}}}}  

“permanen” COMMERCE_STORE_AUTHENTICATED_ROLE peran Anggota nama toko. Apa yang akan peran perubahan admin $ admin_users_list pelanggan dan Amerika Anggota dolar member_rid ID “di kode di atas potongan. Dan akhirnya, itu akan menjadi ID pengguna” UID “untuk” commerce_store_user_role “tanda. Setelah itu akan disebut” commerce_store_access_rebuild_permissions () berfungsi untuk mengembalikan hak-hak untuk mengakses toko.

Langkah-langkah di atas akan mengizinkan termasuk dalam mendirikan toko baru bagi konsumen. Kita bisa mendapatkan izin untuk menambahkan pengguna tidak muncul di situs lelang. Anggota menggunakan halaman toko upgrade hook_entity_presave (). Di sini sekali lagi kita harus bertanya semua pengguna untuk peran administrator dan menetapkan Administrator ID sebagai target toko ID-commerce.

  / ** * Implements hook_entity_presave (). * / Fungsi custom_module_entity_presave ($ subjek, $ type) {if ($ type == 'commerce_store ") {$ Anggota = array (); if (isset ($ Entity & amp; amp; gt; cmp_m_store [LANGUAGE_NONE])) { foreach ($ Entity & amp; amp; gt; cmp_m_store [LANGUAGE_NONE] sebanyak $ item) {if (isset ($ item ['target_'])) {$ baris [] = $ db ['target_'];}} } $ query = db_select ("user", "pengguna"); $ query- & amp; amp; gt; innerJoin (users_roles, users_roles, users_roles.uid users.uid = '); $ Query- & amp; amp; gt; innerJoin ("Peran", "peran", "role.rid users_roles.rid = '); $ Query- & amp; amp; gt; Status (role.name, administrator) $ query- & amp; amp; gt; Fields ("pengguna array (" uid)); $ Row = $ query- & amp; amp; gt; mengeksekusi (); $ = $ Admin_users_list rows- & amp; amp; gt; fetchAll (); foreach ($ admin_users_list dari $ admin_user) {if (in_array ($ admin_user- & amp; amp; gt;! nomor pajak, anggota $)) {$ Entity & amp; amp; gt; cmp_m_store [LANGUAGE_NONE] [] ['target_'] = $ admin_user- & amp; amp; gt; uid;}}}}  

hook_module_implements_alter hook-up adalah tujuan kami, kita perlu memastikan dua hal:.

  1. Pastikan entity_insert berjalan terakhir kali atas dasar hook_entity_insert
  2. Pastikan Anda hook_entity_presave entity_presave berdasarkan run lalu.
  / ** * Melakukan hook_module_implements_alter (). * / Fungsi custom_module_module_implements_alter (& amp; amp; amp; $ instalasi, hook $) {// test isset ini hanya diperlukan jika modul gagal untuk melaksanakan hook. if ($ == kail "entity_insert) {// Pindahkan kait instalasi kita $ $ = Grup instalasi ['custom_module'] Off ($ konsumsi ['custom_module']);. $ Deployment ['custom_module'] = $ kelompok; } if ($ == kail "entity_presave) {// Pindahkan kait instalasi kita. $ $ = Grup instalasi ['custom_module']; Off ($ konsumsi ['custom_module']); $ Deployment ['custom_module'] = $ kelompok; }}  

"di atas hook untuk memfasilitasi pelaksanaan, dalam urutan terbalik, yang" & amp; amp; amp; $ Pemasangan modul akan dilakukan dalam contoh kita, katakanlah, "example_custom sehubungan mana variabel $ kelompok. Setelah Anda menginstal semua parameter custom_module" Reklasifikasi penyebaran disimpan '$ kelompok.

kita dapat menambahkan anggota perdagangan peran toko admin metode ini.

Kami akan membantu dalam pengaturan dan konfigurasi Drupal dan Ubercart commerce. Kami menawarkan berbagai layanan Drupal untuk membantu Anda menjaga dan mengelola situs. Hubungi kami untuk informasi lebih lanjut.

Drupal
Drupal 7
Drupal Commerce

href = "http://artiartimimpi.com/cari-tau-arti-mimpi-menangis-disini/">