Developing Extensions for Joomla! 5: Extend your sites and build rich customizations with Joomla! plugins, modules, and components / Разработка расширений для Joomla! 5: Расширяйте свои сайты и создавайте широкие возможности настройки с помощью плагинов, модулей и компонентов Joomla! Год издания: 2023 Автор: Cámara Mora C. M. / Камара Мора К. М. Издательство: Packt Publishing ISBN: 978-1-80461-799-1 Язык: Английский Формат: PDF, EPUB Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 323 Описание: A comprehensive take on Joomla extensions from the conception to release showing you how to harness the full power of Joomla Key Features Discover the complete cycle of extension development – from conception to release Take advantage of built-in features such as categories, tags, and custom fields to enrich your extensions Learn to build extensions that integrate with Joomla API and the new Joomla CLI Book Description Joomla 5 is a groundbreaking CMS, offering a significant leap in the world of content management systems. Joomla 5 introduces a host of impressive new features that align with current web standards and helps to experience lightning-fast performance for optimal web page optimization, leverage the new code architecture, tap into the WebServices API, and many others. This book has been designed to take you on a journey of extending Joomla’s capabilities by developing your own extensions. This comprehensive guide not only explains the key concepts behind Joomla’s architecture but also equips you with the latest techniques for crafting components and plugins. You will discover how to leverage existing features within Joomla to empower your extensions and create tailored solutions. The book takes you from the initial stages of planning your extension development to a fully featured finished product. As we progress, you’ll learn invaluable techniques for testing your extension, addressing common issues, and preparing it for publication. In the last part of the book, you will learn how to test your extension for common issues, and we will show how to publish the extension for everyone to use it. By the end of the book, you will be fully confident in your skills to complete the cycle of extension development. What you will learn Learn how to plan the development of a new extension from Scratch Understand the basic structure of a Joomla extension Demystify the Joomla Forms system Explore how to use Joomla features effectively to enrich your extensions Discover how to add a WebService API to your extension Discover how to create a Joomla CLI command for your extension Create a Joomla Child Template for your projects Test your extensions before the release Who This Book Is For This book is for Joomla developers and Web designers who want to extend the functionalities of Joomla and find awesome ways to customize their content management systems, e-commerce websites, business websites, and so on. Basic familiarity with Joomla would be helpful to get most out of the book. Всесторонний обзор расширений Joomla от концепции до выпуска, показывающий вам, как использовать всю мощь Joomla Ключевые функции Откройте для себя полный цикл разработки расширений – от концепции до выпуска Воспользуйтесь преимуществами встроенных функций, таких как категории, теги и пользовательские поля, чтобы обогатить свои расширения Научитесь создавать расширения, которые интегрируются с Joomla API и новым интерфейсом Joomla CLI Описание книги Joomla 5 - это новаторская CMS, предлагающая значительный скачок в мире систем управления контентом. Joomla 5 представляет множество впечатляющих новых функций, которые соответствуют современным веб-стандартам и помогают добиться молниеносной производительности для оптимальной оптимизации веб-страниц, использовать новую архитектуру кода, использовать API веб-сервисов и многое другое. Эта книга была разработана для того, чтобы помочь вам расширить возможности Joomla путем разработки собственных расширений. Это всеобъемлющее руководство не только объясняет ключевые концепции, лежащие в основе архитектуры Joomla, но и знакомит вас с новейшими методами создания компонентов и плагинов. Вы узнаете, как использовать существующие функции в Joomla для расширения возможностей ваших расширений и создания индивидуальных решений. Книга проведет вас от начальных этапов планирования разработки вашего расширения до полнофункционального готового продукта. По мере продвижения вы узнаете бесценные приемы тестирования вашего расширения, устранения распространенных проблем и подготовки его к публикации. В последней части книги вы узнаете, как протестировать ваше расширение на наличие распространенных проблем, и мы покажем, как опубликовать расширение, чтобы все могли им пользоваться. К концу книги вы будете полностью уверены в своих навыках, необходимых для завершения цикла разработки расширения. Что вы узнаете Узнаете, как планировать разработку нового расширения с нуля Разберетесь в базовой структуре расширения Joomla Раскроете систему форм Joomla Узнайте, как эффективно использовать функции Joomla для обогащения ваших расширений Узнаете, как добавить WebService API в ваше расширение Узнаете, как создать CLI-команду Joomla для вашего расширения Создавать дочерний шаблон Joomla для своих проектов Протестируете свои расширения перед выпуском Для кого предназначена Эта Книга Эта книга предназначена для разработчиков Joomla и веб-дизайнеров, которые хотят расширить функциональные возможности Joomla и найти потрясающие способы настройки своих систем управления контентом, веб-сайтов электронной коммерции, бизнес-сайтов и так далее. Базовое знакомство с Joomla было бы полезно для того, чтобы извлечь максимальную пользу из книги.
Примеры страниц
Оглавление
Preface xv Part 1: Developing Components 1 Planning Your Component 3 Understanding what a Joomla! component is 4 Translating your problem into an application 5 Identifying your elements 5 A real-world example 6 Defining your component database structure 10 A quick look at the Joomla! database 11 Adding database tables for entities 12 Adding extra information columns to tables 13 Reflecting relationships in the database 14 Creating tables in the database 16 Adding mock data to your database 18 Defining the content of our mock data 18 Automating mock data generation 19 Importing mock data into the database 21 Summary 22 Further reading 23 2 Developing the Backend of a Basic Joomla! Component 25 Technical requirements 26 Component file architecture 26 Building a component’s backend 26 Creating our component repository structure 31 Creating a manifest file 32 Testing a minimum component on Joomla! 34 Developing a list view for a component 35 Adding the view for projects data 35 Adding a model to the projects view 36 Showing the list of projects 40 Developing an edit item view for our component 41 Creating a Project view 42 Adding a model to retrieve and save data 44 Adding a controller to our Project entity 48 Creating a layout for our edit project view 48 Changes to our manifest file 49 Testing the component 51 Summary 51 Further reading 51 3 Developing the Frontend of a Basic Joomla! Component 53 Technical requirements 54 Developing a frontend list view for our component 54 Coding the list view 55 Adding CSS and JS to our component 61 Adding our own styles and JavaScript to our component 63 Joomla’s Web Asset Manager 64 Loading assets with HtmlHelper 67 Developing a frontend item view for our component 68 Adding the model for the frontend item view 69 Adding the layout for the item detail 72 Adding a menu item for our views 73 Adding friendly URLs to our component 77 Translating parameters into a friendly URL 80 Translating SEF URLs into variables for our component 81 Summary 82 Further reading 82 4 Creating Forms in Joomla! 83 Technical requirements 83 Defining forms in Joomla! 84 Adding general options to our extensions 84 Adding search and filter capabilities to our listings 86 Editing or adding individual items 89 Using standard Joomla! Form fields 90 Using the Editor form field type 91 Using the accessiblemedia field type 92 Creating select options from database tables 92 Defining custom form field types 93 How to use the subform field type 95 Validating user input on the client side 97 Validating user input on the server side 99 Summary 101 Further reading 102 5 Harnessing the Power of Joomla! in Your Component 103 Technical requirements 104 Reviewing what Joomla! features you can use in your component 104 Adding an ACL to our component 105 Setting up Joomla! user groups and viewing access levels 105 Adding the permissions configuration 106 Honoring the permissions in our extensions 108 Defining custom actions for our component 109 Using Joomla! categories in our component 110 Customizing our component categories 112 Exploring the benefits and limitations of using Joomla! categories 112 Using our categories’ custom properties 113 Adding ACL to our component categories 117 Introduction to Joomla! custom fields 117 Using custom fields in our component 118 Showing custom fields in our views 120 Adding an ACL to the custom fields 122 Using Joomla’s multilingual capabilities in our component 124 Adding complex translations 126 Summary 127 Further reading 128 6 Adding a Web Service API to Your Component 129 Technical requirements 130 What is a Web Service API? 130 How to consume any Web Service API 131 How can I use the Joomla! Web Service API? 132 Authorization for the API 134 Basic authorization 134 Joomla! token authorization 134 Web Services API permissions 135 Adding a Web Service API to your component 136 Developing the Web Service plugin 136 Using createCRUDRoutes() to add our Web Service endpoints 138 Adding custom endpoint requests to our Web Service 139 Handling the request in our component 140 Reading data from your Web Service – adding a GET endpoint to your component 141 Writing data from your Web Service – adding a POST endpoint to your component 142 Summary 144 Further reading 144 Part 2: Developing Modules and Plugins 7 Developing a Module 147 Technical requirements 148 Understanding the module file structure 148 Creating the provider code 148 Using module helpers 150 Adding the layout for the module 152 Writing the manifest for our module 152 Using module configuration parameters 154 Adding an Advanced tab to our module configuration 157 Caching Joomla! modules 158 Using saved parameters in your code 159 Summary 162 Further reading 162 8 Developing a Joomla! Plugin 163 Technical requirements 164 What is a plugin in Joomla!? 164 Calling Joomla! plugins from our component 165 Understanding Joomla’s plugin file structure 168 Creating the manifest file for our plugins 168 Creating a content plugin 170 Adding plugins to our component 178 Creating our customer’s plugin 180 Summary 183 Further reading 183 9 Adding a CLI to Your Extension 185 Technical requirements 186 What is a CLI? 186 What is a Cron Job? 186 How to use Joomla! CLI 187 Introducing Joomla! CLI commands 188 Introducing generic options for Joomla! CLI 189 Adding a Joomla! CLI command to Joomla! 189 Exploring SymfonyStyle methods 194 What Symfony console output tags can we use? 194 How to internationalize CLI messages 195 Adding parameters to your CLI command 199 Summary 202 Further reading 203 Part 3: Extending Templates 10 Creating Unique Web Applications with Template Overrides 207 Technical requirements 208 What is a Joomla! template? 208 What are template overrides? 209 Creating a template override for Joomla! views 210 Creating a template override for a component view 210 Creating a template override for a module 212 Creating a template override for a plugin 212 Creating alternative layouts 213 Adding an alternative menu item for a component view 213 Adding an alternative layout for a module 214 Overriding CSS and JS 215 Overriding assets with the Web Assets Manager 215 Adding new assets to our overrides 216 Disabling assets in our overrides 216 Summary 217 Further reading 217 11 Creating a Child Template in Joomla! 219 Technical requirements 219 Why do we need child templates? 220 Creating a child template 220 Creating a child template directly in our repository 221 Creating a child template using the Joomla! template manager 223 Overrides in child templates 224 Adding a new module position to the template 226 Using different styles for the module 227 Reusing child templates on different sites 229 Adding parameters to a child template 231 Adding language files to our child template 232 Summary 233 Further reading 233 Part 4: Distributing Your Extensions 12 Testing Your Extensions 237 Technical requirements 237 Do I need tests? 238 Including unit testing in Joomla! 238 What is TDD? 239 Installing PHPUnit 240 How to add system testing in Joomla! 246 Installing Codeception 247 Testing accessibility in our extensions 251 Testing accessibility with your browser 252 Summary 254 Further reading 254 13 Security Practices in Joomla! 255 Technical requirements 255 Fetching data from forms 256 Filtering input data before saving it to a database 258 Preventing cross-site request forgery (CSRF) attacks in forms 260 Preventing cross-site scripting (XSS) attacks 261 Preventing SQL injection 262 Securing your assets for the future 264 Hardening access to your files 265 Using the JED Checker extension 265 Summary 267 Further reading 268 14 Distributing Your Joomla! Extensions 269 Technical requirements 270 Creating a package for your extensions 270 Managing versions in your extension 273 Packaging all the extensions into one file 274 How to manage database changes on your extensions 276 How to change your database structure by updating your extensions 278 Cleaning the database on uninstall 280 How to execute advanced tasks on extension install 280 Table of Contents xiii Setting up an update server 284 Adding a paywall to your extension download 287 Summary 288 Further reading 288 Index 289 Other Books You May Enjoy 298
Cámara Mora C. M. / Камара Мора К. М. - Developing Extensions for Joomla! 5 / Разработка расширений для Joomla! 5 [2023, PDF, EPUB, ENG] download torrent for free and without registration
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum