How to override protected _prepareLayout function in block in magento2?Override block functionMagento 2 : How to Override Block FileHow to override _registerJsPrice($price) function in Configurable.php Block in Magento2?Invalid template file override Magento 2 blockOverride protected function of block class in Magento 2.1.7how to override adminhtml block for a function?How to override tax Block In magento2How to override part of a function for a blockOverride admin block file issue in magento2GoogleAnalytics Block Override

When two POV characters meet

Is a lawful good "antagonist" effective?

Am I not good enough for you?

Examples of odd-dimensional manifolds that do not admit contact structure

Best mythical creature to use as livestock?

Want to switch to tankless, but can I use my existing wiring?

Question about partial fractions with irreducible quadratic factors

"However" used in a conditional clause?

How does Dispel Magic work against Stoneskin?

Best approach to update all entries in a list that is paginated?

Is it ok to include an epilogue dedicated to colleagues who passed away in the end of the manuscript?

Provisioning profile doesn't include the application-identifier and keychain-access-groups entitlements

Unreachable code, but reachable with exception

What has been your most complicated TikZ drawing?

Touchscreen-controlled dentist office snowman collector game

Why does Deadpool say "You're welcome, Canada," after shooting Ryan Reynolds in the end credits?

How do anti-virus programs start at Windows boot?

What is the dot in “1.2.4."

Why doesn't the EU now just force the UK to choose between referendum and no-deal?

US to Europe trip with Montreal layover - is 52 minutes enough?

Do f-stop and exposure time perfectly cancel?

What happens with multiple copies of Humility and Glorious Anthem on the battlefield?

What Happens when Passenger Refuses to Fly Boeing 737 Max?

What does it mean when multiple 々 marks follow a 、?



How to override protected _prepareLayout function in block in magento2?


Override block functionMagento 2 : How to Override Block FileHow to override _registerJsPrice($price) function in Configurable.php Block in Magento2?Invalid template file override Magento 2 blockOverride protected function of block class in Magento 2.1.7how to override adminhtml block for a function?How to override tax Block In magento2How to override part of a function for a blockOverride admin block file issue in magento2GoogleAnalytics Block Override













1















I wanted to make changes in _prepareLayout() in block.
Code is as follow



Block: MagentoCatalogBlockCategoryView



protected function _prepareLayout()

parent::_prepareLayout();

$this->getLayout()->createBlock(MagentoCatalogBlockBreadcrumbs::class);

$category = $this->getCurrentCategory();
if ($category)
$title = $category->getMetaTitle();
if ($title)
$this->pageConfig->getTitle()->set($title);

$description = $category->getMetaDescription();
if ($description)
$this->pageConfig->setDescription($description);

$keywords = $category->getMetaKeywords();
if ($keywords)
$this->pageConfig->setKeywords($keywords);

if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);


$pageMainTitle = $this->getLayout()->getBlock('page.main.title');
if ($pageMainTitle)
$pageMainTitle->setPageTitle($this->getCurrentCategory()->getName());



return $this;



As per above code i want to make change in below data




if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);




Help me to change the parameter passed to addRemotePageAsset() by overriding block.










share|improve this question






















  • use preference to override this file and make your changes there

    – Prathap Gunasekaran
    12 mins ago















1















I wanted to make changes in _prepareLayout() in block.
Code is as follow



Block: MagentoCatalogBlockCategoryView



protected function _prepareLayout()

parent::_prepareLayout();

$this->getLayout()->createBlock(MagentoCatalogBlockBreadcrumbs::class);

$category = $this->getCurrentCategory();
if ($category)
$title = $category->getMetaTitle();
if ($title)
$this->pageConfig->getTitle()->set($title);

$description = $category->getMetaDescription();
if ($description)
$this->pageConfig->setDescription($description);

$keywords = $category->getMetaKeywords();
if ($keywords)
$this->pageConfig->setKeywords($keywords);

if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);


$pageMainTitle = $this->getLayout()->getBlock('page.main.title');
if ($pageMainTitle)
$pageMainTitle->setPageTitle($this->getCurrentCategory()->getName());



return $this;



As per above code i want to make change in below data




if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);




Help me to change the parameter passed to addRemotePageAsset() by overriding block.










share|improve this question






















  • use preference to override this file and make your changes there

    – Prathap Gunasekaran
    12 mins ago













1












1








1








I wanted to make changes in _prepareLayout() in block.
Code is as follow



Block: MagentoCatalogBlockCategoryView



protected function _prepareLayout()

parent::_prepareLayout();

$this->getLayout()->createBlock(MagentoCatalogBlockBreadcrumbs::class);

$category = $this->getCurrentCategory();
if ($category)
$title = $category->getMetaTitle();
if ($title)
$this->pageConfig->getTitle()->set($title);

$description = $category->getMetaDescription();
if ($description)
$this->pageConfig->setDescription($description);

$keywords = $category->getMetaKeywords();
if ($keywords)
$this->pageConfig->setKeywords($keywords);

if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);


$pageMainTitle = $this->getLayout()->getBlock('page.main.title');
if ($pageMainTitle)
$pageMainTitle->setPageTitle($this->getCurrentCategory()->getName());



return $this;



As per above code i want to make change in below data




if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);




Help me to change the parameter passed to addRemotePageAsset() by overriding block.










share|improve this question














I wanted to make changes in _prepareLayout() in block.
Code is as follow



Block: MagentoCatalogBlockCategoryView



protected function _prepareLayout()

parent::_prepareLayout();

$this->getLayout()->createBlock(MagentoCatalogBlockBreadcrumbs::class);

$category = $this->getCurrentCategory();
if ($category)
$title = $category->getMetaTitle();
if ($title)
$this->pageConfig->getTitle()->set($title);

$description = $category->getMetaDescription();
if ($description)
$this->pageConfig->setDescription($description);

$keywords = $category->getMetaKeywords();
if ($keywords)
$this->pageConfig->setKeywords($keywords);

if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);


$pageMainTitle = $this->getLayout()->getBlock('page.main.title');
if ($pageMainTitle)
$pageMainTitle->setPageTitle($this->getCurrentCategory()->getName());



return $this;



As per above code i want to make change in below data




if ($this->_categoryHelper->canUseCanonicalTag())
$this->pageConfig->addRemotePageAsset(
$category->getUrl(),
'canonical',
['attributes' => ['rel' => 'canonical']]
);




Help me to change the parameter passed to addRemotePageAsset() by overriding block.







blocks magento-2.2.5 override-block






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 14 mins ago









ParthaviParthavi

879




879












  • use preference to override this file and make your changes there

    – Prathap Gunasekaran
    12 mins ago

















  • use preference to override this file and make your changes there

    – Prathap Gunasekaran
    12 mins ago
















use preference to override this file and make your changes there

– Prathap Gunasekaran
12 mins ago





use preference to override this file and make your changes there

– Prathap Gunasekaran
12 mins ago










1 Answer
1






active

oldest

votes


















1














you can not override protected methods in Magento 2, only the public method can be overridden using plugin or preference. there is no way to override protected and private method in Magento 2.





share























  • So how can i add custom code to _prepareLayout() as i have mentioned in my code?

    – Parthavi
    44 secs ago












  • using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

    – Prathap Gunasekaran
    11 secs ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f265799%2fhow-to-override-protected-preparelayout-function-in-block-in-magento2%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














you can not override protected methods in Magento 2, only the public method can be overridden using plugin or preference. there is no way to override protected and private method in Magento 2.





share























  • So how can i add custom code to _prepareLayout() as i have mentioned in my code?

    – Parthavi
    44 secs ago












  • using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

    – Prathap Gunasekaran
    11 secs ago















1














you can not override protected methods in Magento 2, only the public method can be overridden using plugin or preference. there is no way to override protected and private method in Magento 2.





share























  • So how can i add custom code to _prepareLayout() as i have mentioned in my code?

    – Parthavi
    44 secs ago












  • using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

    – Prathap Gunasekaran
    11 secs ago













1












1








1







you can not override protected methods in Magento 2, only the public method can be overridden using plugin or preference. there is no way to override protected and private method in Magento 2.





share













you can not override protected methods in Magento 2, only the public method can be overridden using plugin or preference. there is no way to override protected and private method in Magento 2.






share











share


share










answered 4 mins ago









Anand OntigeriAnand Ontigeri

6011721




6011721












  • So how can i add custom code to _prepareLayout() as i have mentioned in my code?

    – Parthavi
    44 secs ago












  • using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

    – Prathap Gunasekaran
    11 secs ago

















  • So how can i add custom code to _prepareLayout() as i have mentioned in my code?

    – Parthavi
    44 secs ago












  • using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

    – Prathap Gunasekaran
    11 secs ago
















So how can i add custom code to _prepareLayout() as i have mentioned in my code?

– Parthavi
44 secs ago






So how can i add custom code to _prepareLayout() as i have mentioned in my code?

– Parthavi
44 secs ago














using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

– Prathap Gunasekaran
11 secs ago





using preference we can rewrite the whole class, I don't know about what you've mentioned. Give me any document where it shows

– Prathap Gunasekaran
11 secs ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Magento Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f265799%2fhow-to-override-protected-preparelayout-function-in-block-in-magento2%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Magento 2 duplicate PHPSESSID cookie when using session_start() in custom php scriptMagento 2: User cant logged in into to account page, no error showing!Magento duplicate on subdomainGrabbing storeview from cookie (after using language selector)How do I run php custom script on magento2Magento 2: Include PHP script in headerSession lock after using Cm_RedisSessionscript php to update stockMagento set cookie popupMagento 2 session id cookie - where to find it?How to import Configurable product from csv with custom attributes using php scriptMagento 2 run custom PHP script

Can not update quote_id field of “quote_item” table magento 2Magento 2.1 - We can't remove the item. (Shopping Cart doesnt allow us to remove items before becomes empty)Add value for custom quote item attribute using REST apiREST API endpoint v1/carts/cartId/items always returns error messageCorrect way to save entries to databaseHow to remove all associated quote objects of a customer completelyMagento 2 - Save value from custom input field to quote_itemGet quote_item data using quote id and product id filter in Magento 2How to set additional data to quote_item table from controller in Magento 2?What is the purpose of additional_data column in quote_item table in magento2Set Custom Price to Quote item magento2 from controller

How to solve knockout JS error in Magento 2 Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?(Magento2) knockout.js:3012 Uncaught ReferenceError: Unable to process bindingUnable to process binding Knockout.js magento 2Cannot read property `scopeLabel` of undefined on Product Detail PageCan't get Customer Data on frontend in Magento 2Magento2 Order Summary - unable to process bindingKO templates are not loading in Magento 2.1 applicationgetting knockout js error magento 2Product grid not load -— Unable to process binding Knockout.js magento 2Product form not loaded in magento2Uncaught ReferenceError: Unable to process binding “if: function()return (isShowLegend()) ” magento 2