Jadual Kandungan
Joomla中的Task 和view 深入学习,joomlatask
一、基本知识
Rumah pembangunan bahagian belakang tutorial php Joomla中的Task 和view 深入学习,joomlatask_PHP教程

Joomla中的Task 和view 深入学习,joomlatask_PHP教程

Jul 13, 2016 am 09:52 AM
joomla task view dan belajar pergi dalam

Joomla中的Task 和view 深入学习,joomlatask

 

 

[本文转自:梦溪笔记]

622762d0f703918f057e8039503d269758eec492

Joomla 是一个优秀的CMS系统,她可以让你快速的完成一个网站的建设,她提供组件,模块,模板能够满足你大部分的网站需求。而组件在其中举足轻重。

一、基本知识

组件(component ) 用于显示页面的主要数据。Joomla的组件采用的是MVC架构设计。 在一个页面请求产生时,其URL中可能包括task, view, layout等信息。我在这里就是要讨论这个task和view. 一般URL中如果含有task就不会含有view, 这里因为joomla认为task就完成一个特定的任务,比如说数据库操作,有效性验证等, 而view是负责显示数据。通常的设计是task里完成任务处理后,会调用setRedirect方法引导向一个view来显示数据。其实在joomla里,如果URL中没有指定task的话,会默认task为display。

二、问题

在项目中,需要在页面的meta数据里包含Open graphic protocol 数据。Open graphic protocol 用于给社交网络提供要分享的数据描述。 如果你的页面是通过task来完成的,然后 在task里通过setRedirect根据数据跳转到不同的view进行授权验证, 然后验证通过后显示数据页面的话,你可能会遇到这种问题:你需要分享这个页面,你在这个页面的meta数据里添加了Open graphic protocol 数据,你希望分享到facebook, google+等社交网站时,你会发现在分享页面显示的数据和图片并不是你想要显示页面的数据。

三、解决方案

上面的问题是因为Open graphic protocol 数据获取并不支持跳转,如果遇到跳转,一般都会去网站首页拾取数据,而这并不是我们想要的。引起这个问题就是setRedirect。 setRedirect的原理是发送给浏览里的HTML头中包含了跳转指令。而解决上面的问题的方法是不使用setRedirect, 而是使用display. 每一个JControllerLegacy都有一个display方法,你只要设置input里的view, layout, 以及其他你要传递过去的数据,然后调用display方法就可。

下面是示例代码:

    /**
     * 内部跳转,用于代替setRedirect. 为什么要这样子做呢?
     * 因为 setRedirect他会发送一个http头到浏览器,让浏览
     * 进行跳转,这样一来就多了一个网络请问, 这是其一。最
     * 为主要的是setRedirect在某些不支持浏览器redirect的情况
     * 下达不到效果,例如:open graphic protocal
     * 
     * @param type $view 要显示的view
     * @param type $layout 要显示的layout, 默认为NULL
     */
    protected function internalRedirect($view, $layout=null){
        $this->input->set("view", $view);
        $this->input->set("layout", $layout);
        return $this->display();
    }
    
    public function checkAvailable(){
        //其他的业务代码
        $this->input->set('tmpl', 'doexam');
        return $this->internalRedirect("doexam", $layout);
    }
Salin selepas log masuk

上面的代码是写在你的Controller里的。函数internalRedirect通过设置$input(这个input是指url的输入参数) 中的view, layout,然后直接调用JControllerLegecy的display方法来显示页面。

在checkAvailable方法中,在调用internalRedirect之前,还设置了其他 view需要的参数。

梦溪的一个朋友说他在做他的一个网站 时遇到了这样的问题,我们讨论并分析了Joomla的实现代码,发现其实这个解决挺容易, 只要你熟悉Joomla组件开发。如果你有问题,可以找我一起交流

希望本文能够解决你所遇到的问题。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1007361.htmlTechArticleJoomla中的Task 和view 深入学习,joomlatask [本文转自:梦溪笔记] Joomla是一个优秀的CMS系统,她可以让你快速的完成一个网站的建设,她提供组...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penutupan Windows 11 menggesa hos tugas hos tugas tetingkap sedang melaksanakan penyelesaian tugas penutupan Penutupan Windows 11 menggesa hos tugas hos tugas tetingkap sedang melaksanakan penyelesaian tugas penutupan Feb 12, 2024 pm 12:40 PM

Baru-baru ini, ramai pengguna Win11 telah melaporkan bahawa apabila menutup, mereka digesa bahawa hos tugas taskhostwindow sedang melaksanakan tugas penutupan. Jadi apa yang sedang berlaku? Pengguna boleh memasukkan folder Desktop di bawah editor pendaftaran tempatan, dan kemudian pilih AutoEndTasks dalam tetingkap kanan untuk menetapkannya. Biarkan tapak web ini dengan teliti memperkenalkan kepada pengguna penyelesaian kepada masalah ini apabila ditutup. Penutupan Windows 11 menggesa bahawa hos tugas taskhostwindow sedang melaksanakan tugas penutupan 1. Gunakan kekunci kombinasi kekunci win + r, masukkan "regedit" dan tekan Enter, seperti yang ditunjukkan dalam rajah di bawah. 2. Cari [HKEY

Mendedahkan daya tarikan bahasa C: Mendedahkan potensi pengaturcara Mendedahkan daya tarikan bahasa C: Mendedahkan potensi pengaturcara Feb 24, 2024 pm 11:21 PM

Pesona Pembelajaran Bahasa C: Membuka Potensi Pengaturcara Dengan perkembangan teknologi yang berterusan, pengaturcaraan komputer telah menjadi satu bidang yang telah menarik perhatian ramai. Di antara banyak bahasa pengaturcaraan, bahasa C sentiasa digemari oleh pengaturcara. Kesederhanaan, kecekapan dan aplikasinya yang luas menjadikan pembelajaran bahasa C sebagai langkah pertama untuk ramai orang memasuki bidang pengaturcaraan. Artikel ini akan membincangkan daya tarikan mempelajari bahasa C dan cara membuka kunci potensi pengaturcara dengan mempelajari bahasa C. Pertama sekali, daya tarikan mempelajari bahasa C terletak pada kesederhanaannya. Berbanding dengan bahasa pengaturcaraan lain, bahasa C

Bermula dengan Pygame: Tutorial Pemasangan dan Konfigurasi Komprehensif Bermula dengan Pygame: Tutorial Pemasangan dan Konfigurasi Komprehensif Feb 19, 2024 pm 10:10 PM

Pelajari Pygame dari awal: tutorial pemasangan dan konfigurasi lengkap, contoh kod khusus diperlukan Pengenalan: Pygame ialah perpustakaan pembangunan permainan sumber terbuka yang dibangunkan menggunakan bahasa pengaturcaraan Python Ia menyediakan pelbagai fungsi dan alatan, membolehkan pembangun mencipta pelbagai jenis dengan mudah permainan. Artikel ini akan membantu anda mempelajari Pygame dari awal, dan menyediakan tutorial pemasangan dan konfigurasi yang lengkap, serta contoh kod khusus untuk membolehkan anda bermula dengan cepat. Bahagian Pertama: Memasang Python dan Pygame Pertama, pastikan anda mempunyai

Mari belajar cara memasukkan nombor akar dalam Word bersama-sama Mari belajar cara memasukkan nombor akar dalam Word bersama-sama Mar 19, 2024 pm 08:52 PM

Semasa mengedit kandungan teks dalam Word, anda kadangkala perlu memasukkan simbol formula. Sesetengah lelaki tidak tahu cara memasukkan nombor akar dalam Word, jadi Xiaomian meminta saya untuk berkongsi dengan rakan saya tutorial tentang cara memasukkan nombor akar dalam Word. Semoga membantu kawan-kawan. Mula-mula, buka perisian Word pada komputer anda, kemudian buka fail yang ingin anda edit, dan gerakkan kursor ke lokasi yang anda perlukan untuk memasukkan tanda akar, rujuk contoh gambar di bawah. 2. Pilih [Sisipkan], dan kemudian pilih [Formula] dalam simbol. Seperti yang ditunjukkan dalam bulatan merah dalam gambar di bawah: 3. Kemudian pilih [Insert New Formula] di bawah. Seperti yang ditunjukkan dalam bulatan merah dalam gambar di bawah: 4. Pilih [Radical], dan kemudian pilih radikal yang sesuai. Seperti yang ditunjukkan dalam bulatan merah dalam gambar di bawah:

Ketahui fungsi utama dalam bahasa Go dari awal Ketahui fungsi utama dalam bahasa Go dari awal Mar 27, 2024 pm 05:03 PM

Tajuk: Pelajari fungsi utama dalam bahasa Go dari awal Sebagai bahasa pengaturcaraan yang mudah dan cekap, bahasa Go digemari oleh pembangun. Dalam bahasa Go, fungsi utama ialah fungsi masuk, dan setiap program Go mesti mengandungi fungsi utama sebagai titik masuk program. Artikel ini akan memperkenalkan cara mempelajari fungsi utama dalam bahasa Go dari awal dan memberikan contoh kod khusus. 1. Pertama, kita perlu memasang persekitaran pembangunan bahasa Go. Anda boleh pergi ke laman web rasmi (https://golang.org

Fahami 20 papan pemuka analisis Dune ini dan tangkap arah aliran pada rantaian dengan cepat Fahami 20 papan pemuka analisis Dune ini dan tangkap arah aliran pada rantaian dengan cepat Mar 13, 2024 am 09:19 AM

Pengarang asal: Minty, penyulitan KOL Kompilasi asal: Shenchao TechFlow Jika anda tahu cara menggunakannya, Dune ialah alat alfa semua-dalam-satu. Bawa penyelidikan anda ke peringkat seterusnya dengan 20 papan pemuka Dune ini. 1. Analisis Pemegang Teratas Alat mudah yang dibangunkan oleh @dcfpascal ini boleh menganalisis token berdasarkan penunjuk seperti aktiviti bulanan pemegang, bilangan pemegang unik dan nisbah untung dan rugi dompet. Lawati pautan: https://dune.com/dcfpascal/token-holders2 Metrik Gambaran Keseluruhan Token @andrewhong5297 mencipta papan pemuka ini yang menyediakan cara untuk menilai token dengan menganalisis tindakan pengguna.

Melihat lebih dekat pada kod status HTTP 100: Apakah maksudnya? Melihat lebih dekat pada kod status HTTP 100: Apakah maksudnya? Feb 20, 2024 pm 04:15 PM

Melihat lebih dekat pada kod status HTTP 100: Apakah maksudnya? Protokol HTTP ialah salah satu protokol yang paling biasa digunakan dalam aplikasi Internet moden Ia mentakrifkan spesifikasi standard yang diperlukan untuk komunikasi antara pelayar dan pelayan web. Semasa proses permintaan dan respons HTTP, pelayan akan mengembalikan pelbagai jenis kod status kepada penyemak imbas untuk menggambarkan pemprosesan permintaan. Antaranya, kod status HTTP 100 ialah kod status khas yang digunakan untuk menunjukkan "teruskan". Kod status HTTP terdiri daripada tiga digit, setiap kod status mempunyai makna tertentu

Bagaimana untuk mempelajari perisian penetapan taip PPT dengan baik (Bahagian 3) Bagaimana untuk mempelajari perisian penetapan taip PPT dengan baik (Bahagian 3) Mar 20, 2024 pm 04:46 PM

1. Pelajaran ini terutamanya menerangkan [1: Prinsip Penjajaran]. Pertama, ia akan dianalisis daripada kehidupan seharian, seperti bangunan, tapak bersejarah, dll. 2. [Peranan penjajaran]: Serlahkan hubungan kandungan dan satukan visi halaman. 3. Pelajaran ini bermula dengan [Analisis kes sebenar] [Langkah 1: Padamkan pengindahan dan kesan khas yang berlebihan dan tidak sesuai Langkah 2: Satukan fon dan warna]. 4. Mula-mula tukar [Font to Microsoft YaHei] dan kemudian [Change the color of the page] kepada typeset seperti yang ditunjukkan dalam gambar. 5. Kemudian pergi ke [Drawing of Timeline], masukkan [Straight Line-Modify Thickness, Color] dan kemudian teruskan masukkan [Ring-Turn Off Fill, Turn on Black Stroke] dan kemudian [Salin Copy-Reduce Fill to Black] [Pilih Dua untuk Menjajarkan 】Buat 'kesan butang' dan kemudian taipkannya, kesannya adalah seperti yang ditunjukkan dalam rajah

See all articles