أقترب من تحويل PfaffManager إلى منتج. الحد الأدنى للمنتج القابل للتطبيق (MVP) الخاص بي هو استبدال https://www.literatecomputing.com/discourse-installation-packages/ بـ Discourse، بحيث يتمكن الأشخاص من شراء التثبيت (كما يفعلون حاليًا عبر WordPress)، مما سيؤدي إلى بدء التثبيت في Discourse (يعمل)، حيث يمكنهم أيضًا الحصول على تحديثات مباشرة حول عملية التثبيت (يعمل)، ثم يكون بإمكانهم النقر على زر لبدء إعادة بناء (يعمل) لفترة زمنية معينة.
استخدمت add_model_callback(GroupUser, :after_save) لملاحظة أنه عند إضافة مستخدم إلى مجموعة CreateServer، يتم إنشاء الخادم (في النموذج الذي يضيفه ملفي) وإزالة المستخدم من المجموعة (حتى يتمكن نظريًا من شراء تثبيت خادم آخر). أعتقد أن هذه التقنية يمكن استخدامها لجعل discourse-subscriptions نظام دفع عام إلى حد ما.
يحمل عنوان <h1> وزر الضغط نفس المفتاح discourse_subscriptions.subscribe.title؛ أود أن يقول عنوان <h1> شيئًا مثل “شراء تثبيت أو خدمة” للعنوان، و “ادفع الآن” للزر.
إذا كان لعنوان <h1> فئة subscription-title، فيمكنني استخدام CSS لإخفاء العنوان الحالي واستبداله بـ ::before، مما قد يحل المشكلة المذكورة أعلاه.
أود إضافة تنقل إلى /pfaffmanager/servers في مكان ما على هذه الصفحة في رأس الصفحة أو تذييلها، ولا أرى أي طريقة للقيام بذلك. حاولت إضافة شيء مثل {{~raw-plugin-outlet name="subscription-header-before"~}} إلى قالب s.hbs، لكن الأمر ليس بهذه البساطة.
أعتقد أنه من المعقول التطلع إلى وجود فئات أكثر تخصصًا للاشتراكات في ملحق الاشتراكات، لكنني ما زلت ضعيفًا في CSS لدرجة أنني لست متأكدًا تمامًا مما إذا كنت محقًا أو كيف يجب أن يبدو الشكل.
آه! بدلاً من التمني وجود منافذ (outlets) في ملحق الاشتراكات، ربما يجب أن أصنع قوالبًا خاصة بي لا تزال تستدعي وظائف Stripe من ملحق الاشتراكات؟ هل يبدو ذلك منطقيًا؟
أنا مستعد لقبول طلب دمج (PR) لهذه التغييرات. إنها تغييرات بسيطة جدًا.
يجب أن تكون قادرًا على إضافة {{plugin-outlet}} في ذلك الملف. سأقبل أيضًا طلب دمج (PR) إذا كان هناك مبرر معقول لذلك. منافذ الإضافات خفيفة الوزن بما يكفي. لكن منفذ الإضافات الخام لن يعمل لأنه ليس ملفًا خامًا.
<script type="text/x-handlebars" data-template-name="/connectors/after-go-to-billing/foobar">
<div class="pfaffmanager-product"> ربما رابط باستخدام {{product.id}}</div>
</script>
أو يمكنك حتى إخفاء واستبدال جميع كتل المنتج تقريبًا.
ربما أبدأ في فهم منافذ الإدخال (plugin outlets) في النهاية.
تغييرات CSS
إذن، فقط قم بتغليف قالب s.hbs بالكامل داخل <div class="subscription">، وبعد ذلك يمكنك القيام بأشياء مثل