我是Drupal的新用户。我不断收到此错误消息,并且我知道其背后的原因。基本上,这是由于SQL状态4000错误,也称为SQL死锁错误。在尝试解决此问题时,我想看看是否有办法更改此错误的文本-
“网站遇到意外错误。请稍后重试”。
我的问题很直截了当。我想将此文本更改为有意义的文本。有可能这样做吗?有关遵循步骤的任何准则?
答案 0 :(得分:0)
这个错误页面不是Drupal易于控制的。通常是由服务器的500响应产生的。但是,我设法使用{{3}}在我的一个网站上做到了这一点。
示例:
const filesToCache = [
'/500.html'
];
const staticCacheName = '0.0';
self.addEventListener('install', event => {
event.waitUntil(
caches.open(staticCacheName)
// Cache all of the configured files.
.then(cache => {
return cache.addAll(filesToCache);
})
// Force an update of the service worker, if need be.
.then(function() {
return self.skipWaiting();
})
);
});
// Delete outdated cache.
self.addEventListener('activate', event => {
const cacheWhitelist = [staticCacheName];
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheWhitelist.indexOf(cacheName) === -1) {
return caches.delete(cacheName);
}
})
);
})
);
});
// Serve appropriate error pages from cache.
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request)
.then(response => {
if (response) {
return response;
}
return fetch(event.request)
.then(response => {
if (response.status === 500) {
return caches.match('/500.html');
}
return caches.open(staticCacheName)
});
})
);
});
<body>
文件的html.html.twig
中(或其他类似的地方):<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js')
.then(swReg => {
console.log('Service Worker is registered', swReg);
})
.catch(err => {
console.error('Service Worker Error', err);
});
});
}
</script>