【问题标题】:Silverstripe 4.7 custom SiteConfig onAfterWrite success messageSilverstripe 4.7 自定义 SiteConfig onAfterWrite 成功消息
【发布时间】:2021-09-29 20:19:37
【问题描述】:

银条 4.7

我已经扩展了 SiteConfig,我想在 onAfterWrite 函数中显示成功消息。

如何做到这一点?

class FaviconSiteConfig extends DataExtension 

{

//...........

    public function onAfterWrite(){
        parent::onAfterWrite();
 
        // THIS DOESNT WORK!! ::
        //Controller::curr()->getResponse()->addHeader('X-Status', rawurlencode('Favicons updated!!'));

    }

//...........
    
    

}

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    我找到的唯一方法是:

    SilverStripe\Core\Injector\Injector:
      SilverStripe\SiteConfig\SiteConfigLeftAndMain:
        class: FaviconSiteConfigLeftAndMain
    

    和:

    <?php
    
    use SilverStripe\SiteConfig\SiteConfig;
    use SilverStripe\SiteConfig\SiteConfigLeftAndMain;
    use SilverStripe\ORM\DataObject;
    
    
    use SilverStripe\Dev\Debug;
    use SilverStripe\Dev\Backtrace;
    
    
    class FaviconSiteConfigLeftAndMain extends SiteConfigLeftAndMain
    {
        
        
        
        
         public function save_siteconfig($data, $form)
        {
            $data = $form->getData();
            $siteConfig = DataObject::get_by_id(SiteConfig::class, $data['ID']);
            $form->saveInto($siteConfig);
            $siteConfig->write();
            if ($siteConfig->hasExtension(RecursivePublishable::class)) {
                $siteConfig->publishRecursive();
            }
             
            if($data['DoRefreshFavicon'] == 1){
                //Debug::show($data);
                 $response = 'Favicon was updated successfully! You might empty your browser-cache to take effect!';
            }else{
                $response = _t('SilverStripe\\Admin\\LeftAndMain.SAVEDUP', 'Saved.');
            }
             
             $this->response->addHeader(
                    'X-Status',
                    rawurlencode($response)
                );
            
            return $form->forTemplate();
        }
            
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      相关资源
      最近更新 更多