2

I want to do some changes in

vendor/magento/framework/Stdlib/DateTime/Date.php

How can I override the file in app folder?

  • What is the purpose of your rewrite? – Amit Bera Aug 28 at 9:31
  • @AmitBera changed the script in that as per my requirements – Nafisa Aug 28 at 9:35
  • @AmitBera Can u say how to do that? – Nafisa Aug 28 at 10:09
  • You can try the plugin for it. – kunj Aug 29 at 5:27
  • @Nafisa May I know on which 2.3.* version you trying? – kunj Aug 29 at 5:35
2

I don't prefer to use <preference></preference> for this work.

If you want some modification at any public method of any class then I suggest use Plugin instead of preference.

<preference> means class override where <plugin> means method function/method override.

Step 1: Create di.xml at{YourVendorNAME}/{ModuleName}/etc/di.xml.This is the declaration of the plugin.

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Framework\Stdlib\DateTime\Date">
        <plugin name="DateTime_plugin" type="{YourVendorNAME}\{ModuleName}\Plugin\DatePlugin" sortOrder="10" disabled="false"  />
    </type>
</config>

Step2: Create DatePlugin.php at {YourVendorNAME}/{ModuleName}/Plugin,

<?php
namespace {YourVendorNAME}\{ModuleName}\Plugin;
class DatePlugin
{

    public function beforeDate(
        \Magento\Framework\Stdlib\DateTime\Date $subject,
        $format = 'Y-m-d H:i:s', 
        $input = null
    ){
        return [$format,$input];
    }
}

Here, i have created a before plugin on \Magento\Framework\Stdlib\DateTime\Date::date() function .

0

Add below code to di.xml

<preference for="Magento\Framework\Stdlib\DateTime\Date" type="Vendor\Module\Rewrite\Magento\Framework\Stdlib\DateTime\Date"/>

and create class for Vendor\Module\Rewrite\Magento\Framework\Stdlib\DateTime\Date and extend the \Magento\Framework\Stdlib\DateTime\Date

Hope it will work for you.

  • Can you tell me where is the validation for the datepicker is done. Where can i get the code? – Nafisa Aug 29 at 12:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.