我们想在产品页面添加动态块.问题是产品页面具有完整页面缓存(由于速度问题,我们无法将其关闭).我们希望根据登录用户的帐户在每个产品页面上显示不同的信息,并且因产品而异.
我创建了一个具有自己的缓存的单独块,但是它显示了上一个产品页面中的相同块.我正在尝试更改它的缓存方法,因此它不会保存以前产品页面中的缓存.
它最初几次进入产品页面,然后突然开始显示一个Magento错误页面,上面写着:"网站在检索http://www.mycompany.com/productpage.html时遇到错误.它可能是关闭维护或配置不正确."
这是我到目前为止所做的.我创建了app/code/local/MyCompany/MyModule/PageCache/etc/config.xml来添加MyCompany_PageCache_Model.
然后我用这些函数在app/code/local/MyCompany/MyModule/PageCache/Model/Container/MyFile.php中创建了控制缓存的文件:
protected function _getCacheId()
{
return 'CONSTANT_CACHE' . md5($this->_placeholder->getAttribute('cache_id'));
}
protected function _saveCache($data, $id, $tags = array(), $lifetime = null)
{
return false;
}
protected function _renderBlock()
{
$blockClass = $this->_placeholder->getAttribute('block');
$template = $this->_placeholder->getAttribute('template');
$block = new $blockClass;
$block->setTemplate($template);
$block->setLayout(Mage::app()->getLayout());
return $block->toHtml();
}
Run Code Online (Sandbox Code Playgroud)
我还使用我的占位符为CONSTANT_CACHE在Catalog/etc下创建了cache.xml.
上面的语法是不正确的,还是有更简单的方法来做到这一点?
我试图在Laravel 5.8中实现数组类型的路由。
这是我尝试过的:
Route::get('/','/myroute', 'MyController@index');
Route::get(['/','/myroute'], 'MyController@index');
Route::get([('/','/myroute')], 'MyController@index');
Route::get('/' || '/myroute', 'MyController@index');
Run Code Online (Sandbox Code Playgroud)
基本上,我想做的是创建一个具有“ OR”条件的路由。
假设我想index使用mydomain.dev/或访问MyController ,mydomain.dev/myroute但得到404 | Not Found。
试图阅读Laravel文档,但找不到任何指向我正在尝试做的事情。
我正在尝试解构values以获得表单输入的特定值useFormikContext()
我已经这样做了:
const { values } = useFormikContext()
const { name, age } = values
Run Code Online (Sandbox Code Playgroud)
但我收到如下错误:
'name'类型“未知”上不存在属性
我正在尝试解决 React 中的滚动问题,其中当我向下滚动到页面上的某个点,然后导航到另一个页面时,该页面将从与上一页相同的滚动点开始。
这是我尝试过的:
import { useLocation } from 'react-router'
const ScrollToTop: React.FC = () => {
const { pathname } = useLocation()
React.useEffect(() => {
console.log('im scrolling')
window.scrollTo(0, 0)
}, [pathname])
return null
}
export default ScrollToTop
Run Code Online (Sandbox Code Playgroud)
然后像这样导入它:
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter } from 'react-router-dom'
import ScrollToTop from './components/base/ScrollToTop'
import Apps from './App'
ReactDOM.render(
<BrowserRouter>
<ScrollToTop />
<Apps />
</BrowserRouter>,
document.getElementById('root'),
)
Run Code Online (Sandbox Code Playgroud)
我滚动正在控制台中打印,但window.scrollTo不起作用。
我也尝试了useLayoutEffect,但相同的结果仍然不滚动。
我有一个 CSV 文件,其中一些行的文本/单词包含特殊字符,例如\xc3\xb1,
\n\n发生的情况是,当我尝试导入 CSV 文件时,上面或类似字符的单词将被转换为0。
\n\n我正在使用ToModel
\n\nuse Maatwebsite\\Excel\\Concerns\\ToModel;\nRun Code Online (Sandbox Code Playgroud)\n\n要重现此问题,只需尝试在 CSV 文件的一个单元格中放入一个特殊字符,然后将其导入,如下所示:
\n\nExcel::import(new CsvImport, request()->file('file'));\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n输出:插入的数据中含有特殊字符的数据将被存储为0
\n
注意:直接从Form添加数据不会将特殊字符转换为0,仅在通过导入上传CSV时
\n