I bet you have your theme in app/design
and not pulled from external via composer to vendor/
.
I think the problem is, that your registration.php is not run. It is referenced from composer.json
. But the question is, how to make your registration.php
known to the system.
Additionally there seems to be a bug, where registration.php
of non-composer modules is not loaded. Fix see here: https://magento.stackexchange.com/a/89446/81
Take a look:
vendor/magento/module-checkout/view/frontend/web/template/minicart/content.html
<div data-bind="html: getCartParam('extra_actions')"></div>
This button shortcut shows in this part.
The extra_actions
cart data comes from:
vendor/magento/module-checkout/CustomerData/Cart.php
public function getSectionData()
{
......
'extra_actions' => $this->layout->createBlock('Magento\Catalog\Block\ShortcutButtons')->toHtml(),
......
}
Navigate to Magento\Catalog\Block\ShortcutButtons
class, we will see a Dispatch shortcuts container event: shortcut_buttons_container
.
The Paypal module will catch this event to add its button:
vendor/magento/module-paypal/etc/frontend/events.xml
<event name="shortcut_buttons_container">
<observer name="paypal_shortcuts" instance="Magento\Paypal\Observer\AddPaypalShortcutsObserver"/>
</event>
In this event, it will checks the Paypal Method is available or not. So, the Paypal button will not show if the payment method is disable in Admin.
I did set "Display on Product Details Page" to "NO"
Yes, it will not affect on the minicart.
In this case, I have a suggestion for you. We can disable the paypal_shortcuts
event, create the custom one. We can add more config for Paypal in Admin (e.g: Display on Mini Cart - Yes/No) and check this config in the custom event.
Best Answer
If after clearing
var/cache
,var/generation
,var/page_cache
andpub/static/*
folders still you find it there, there is an entry for themes in database tabletheme
with your theme info. Just delete the row containing your theme info and it will be gone from your system.