فوت کردن، دمیدن فوق العاده سریع ، قابل توسعه ، رایگان و منبع باز نرم افزار انجمن است. از سال 2014 در حال توسعه است و به پایان مرحله بتا خود نزدیک می شود.
در این آموزش ، ما مراحل اضافه کردن a را طی خواهیم کرد زمینه سفارشی به یک حساب کاربری این قسمت سفارشی فقط توسط کاربر قابل تنظیم از صفحه پروفایل کاربر است ، همچنین توسط مدیر قابل ویرایش دستی است. منبع کامل و نهایی این برنامه افزودنی است در GitHub.
🙏 با تشکر فراوان از askvortsov برای بررسی و کمک در انجام این راه درست Right.
آنچه ما اضافه می کنیم
ما به کاربران اجازه خواهیم داد آدرس Web3 خود را به نمایه خود اضافه کنند. آدرس Web3 هویت رمزنگاری کاربر در اکوسیستم Web3 است – قسمت عمومی یک کلید اصلی خصوصی-خصوصی (مانند SSH) که نمایانگر حساب سازگار با بلاکچین است.
توجه ℹ: اکوسیستم Web3 اینترنت جدیدی از میزبانی غیرمتمرکز ، داده های متعلق به خود و ارتباطات مقاوم در برابر سانسور است. لطفاً برای یک آغازگر در Web3 مراجعه کنید این صحبت 15 دقیقه ای در FOSDEM.
حتی اگر به Web3 علاقه ندارید ، این آموزش مفید خواهد بود. این قسمت اول آموزش نحوه ساخت یک زمینه سفارشی برای کاربر را به شما نشان می دهد و قسمت دوم آدرس Web3 واقعی را به روشی امن رمزنگاری شده اضافه می کند.
پیش نیازها
فرض می کنیم شما داشته باشید NodeJS نصب شده است و در یک نسخه به اندازه کافی اخیر (12/16+ خوب است) ، و آهنگساز در دسترس جهانی است. برای سلامتی شما ، ما نیز استفاده از را توصیه می کنیم نخ به جای npm. PHP ، MySQL و موارد دیگر نیازهای Flarum فرض می شود که به درستی وجود داشته و در حال اجرا هستند.
در مثال های زیر ، ما نسخه محلی Flarum را در میزبانی می کنیم ubikforum.test
، که برخی از عکسهای صفحه نمایش ممکن است منعکس کنند.
لطفاً همچنین از درج انجمن خود اطمینان حاصل کنید debug
حالت با تنظیم مقدار مناسب در config.php
:
<?php return array(
'debug' => true,
'database' => // ...
برنامه افزودنی جدید
با اجرای برنامه افزودنی جدیدی را شروع می کنیم دوستان فلاروم جادوگر boilerplate در داخل یک تازه ایجاد شده packages
پوشه در پوشه اصلی نصب محلی Flarum:
# cd into your flarum folder
mkdir packages & cd packages
npx @friendsofflarum/create-flarum-extension web3address
مهم …: به یاد داشته باشید که بهترین روشهای استقرار را دنبال کنید و موارد زیر را نادیده بگیرید packages
اگر این پوشه Flarum را به یک repo فشار می دهید که از آن نسخه زنده خود را مستقر می کنید ، پوشه کنید.
ورودی های ارائه شده توسط جادوگر را پر کنید:
✔ Admin CSS & JS … no
✔ Forum CSS & JS … yes
✔ Locale … yes
✔ Javascript … yes
✔ CSS … yes
توجه ℹ: می خواهید تنظیم کنید Admin CSS & JS
به yes
اگر می خواهید با تنظیمات و / یا مجوزها کار کنید ، مانند اجازه دادن به فقط بعضی از افراد اجازه اصلاح آنها را بدهد web3address
صفت یا مشابه آن در این صورت نیازی به آن نداریم.
به خاطر داشته باشید که ، به دلیل یک اشکال، ژنراتور از اعداد موجود در نام بسته یا فضای نام پشتیبانی نمی کند. به این ترتیب ، بهتر است بعد از اتمام تولید ، این مقادیر را تغییر نام دهید. (به عنوان مثال ، شما نمی توانید استفاده کنید web3address
به عنوان نام ، اما blockchain
خوب است.)
ما همچنین باید JavaScript را کامپایل کنیم. بهتر است آن را در حالت تماشا بگذارید تا به طور خودکار در تغییرات پرونده مجدداً کامپایل شود و بتوانید به سرعت تغییرات را هنگام توسعه بررسی کنید:
cd packages/web3address
cd js
yarn && yarn dev
توجه ℹ: شما می خواهید این را در یک زبانه ترمینال اجرا کنید و بقیه دستورات را در یک تب دیگر اجرا کنید. dev
دستور یک کار همیشه روشن را فعال می کند که جلسه ترمینال فعلی را اشغال می کند.
سپس ما نصب پسوند تازه ایجاد شده ما:
composer config repositories.0 path "packages/*"
composer require swader/blockchain @dev
خط اول به آهنگساز می گوید که باید به دنبال بسته هایی باشد که ما در آن نصب می کنیم packages
پوشه فرعی ، و اگر آنها را پیدا نکرد ، به طور پیش فرض در Packagist.org.
خط دوم پسوند تازه ایجاد شده ما را نصب می کند. پس از ورود ، می توانیم رابط مدیر انجمن خود را بارگیری کنیم ، پسوند را فعال کرده و کنسول موجود در قسمت جلوی فروم را برای یافتن پیام “Hello world” بررسی کنیم. اگر آنجا باشد ، پسوند جدید کار می کند.
در حال گسترش
هنگام ساخت برنامه های افزودنی ، همیشه هستید گسترش دادن Flarum خام زیر. اینها پسوندها در برنامه افزودنی شما تعریف شده است extend.php
پرونده با متنوع توسعه دهنده ها به عنوان “دسته” از نقاط احتمالی افزونه ، می توانید در آن قرار بگیرید. بعداً این پرونده را اصلاح خواهیم کرد.
به خاطر داشته باشید که این انجمن خود دارای یک انجمن است extend.php
پرونده را نیز در پوشه اصلی آن قرار دهید. این پرونده برای پسوندهای جزئی و سطح ریشه ای که کاربران شما می توانند بدون نیاز به نوشتن پسوند کامل درمورد عملکرد ، از طریق Flarum انجام دهند ، مفید است. اگر می خواهید آنچه را که ساخته اید با دیگران به اشتراک بگذارید یا آن را در نسخه های دیگر Flarum توزیع کنید ، پسوند راهی است که باید دنبال کنید.
extend.php
پرونده در حال حاضر به این شکل است:
<?php
namespace SwaderWeb3Address;
use FlarumExtend;
return [
(new ExtendFrontend('forum'))
->js(__DIR__ . '/js/dist/forum.js')
->css(__DIR__ . '/resources/less/forum.less'),
new ExtendLocales(__DIR__ . '/resources/locale')
];
اگر شما در حال گسترش بودید admin
رابط کاربری نیز وجود دارد ، دیگری وجود دارد Frontend
ارجاع بلوک admin
بجای forum
. در حال حاضر ، ما فقط JS و سبک های جدیدی را به قسمت جلوی فروم اضافه می کنیم و به صورت اختیاری ، عناصر UI پسوند خود را بومی سازی می کنیم ، بنابراین این قسمت هایی هستند که توسعه می یابند.
این فایل جایی است که ما مسیرهای جایگزین و برخی شنوندگان را تعریف خواهیم کرد ، همانطور که بعدا خواهید دید.
ادامه مطالعه نوشتن یک افزونه Flarum: ساخت یک زمینه سفارشی در SitePoint.