最近我开始开发magento 2项目.
首先我尝试使用xampp进行Windows操作,这是一个烂摊子...每个刷新页面都是一场噩梦,加载页面大约需要30-40秒.我读到它,Windows系统文件使用magento是如此之慢,因为它具有大型结构,文章almmost迫使你使用linux来开发magento项目.
问题是我需要Windows用于另一个仅适用于Windows的公司应用程序,我尝试使用Virtualbox安装虚拟机,它改进了一点......但我正在虚拟机上工作的事实让我生气...
我现在正在使用的下一个解决方案是使用vagrant.好吧,我觉得这种方式很好,但它一直很慢...... 15-20s ......
我在Vagrant上的配置是5120MB(个人计算机有8GB)并使用我所有的4个核心.
我感觉很糟糕这样......当我在以前的项目中工作时,使用symfony/Laravel/Codeigniter,就像:
写一些代码行,tab到浏览器,F5,INSTANTLY看到变化.
在M2上:写一些代码行,选项卡到浏览器,F5,等待......等等......好吧现在刷新页面,但它没有加载,等等......等等......嗯几乎......好吧.没有变化,但我清理了缓存...哦,我想我也必须删除静态文件.去吧......等一下......
上帝...... M2没有办法加速吗?我只问5s或类似的东西...只是我感觉如此愚蠢,看着屏幕一直在等待......
对于声音,我只是要求开发模式,我试图在生产模式下安装另一个magento项目以便更快地测试事物,然后它与开发者模式相比可以流畅...因为... omg ...只是尝试一次又一次地执行订单工作流程......
好吧,这就是...我唯一没有尝试的是在计算机上使用Linux环境...但它与使用流浪者一样......我不明白......你是如何开发M2开发人员的?在特殊的前端开发人员...我不相信他们的工作方式和我一样......等待20秒加载页面+清理缓存+删除静态文件等.
详细信息:我尝试了所有与流浪但但没有改进,我目前在Ubuntu 15.04,Apache 2.4,PHP 5.6(我试过7但仍然相同)mysql 5.6
这是网络标签:http:
//i.imgur.com/HG7mbeX.png

我从这个视频中学习了一些 cypress:https://www.youtube.com/watch? v=03kG2rdJYtc 我对他在 29:33 说的:“程序化登录”很感兴趣,但他正在使用 vue2 和 Vuex。
我的项目是用Vite创建的,状态管理是Pinia。那么如何使用 pinia 操作进行编程登录呢?
例如,欢迎登录的用户应该看到仪表板:
describe('Welcome', () => {
it('logged in user should visit dashboard', () => {
// login
cy.visit('/')
cy.url().should('contain', '/dashboard')
})
})
Run Code Online (Sandbox Code Playgroud)
还有我的用户商店:
export const useUserStore = defineStore({
id: 'user',
state: () => ({
username: ref(useLocalStorage('username', null)),
}),
getters: {
isLoggedIn: (state) => state.username !== null,
},
actions: {
login(username, password) {
return useAuthLoginService(username, password)
.then((response) => {
this.username = response.username
})
.catch((error) => {
return Promise.reject(new Error(error)) …Run Code Online (Sandbox Code Playgroud) 我在使用 v-footer 时遇到了麻烦。它覆盖了内容。当我包含图像时,我看到这种情况发生。看看这支笔:
https://codepen.io/slayerbeast/pen/zYxYXZL
如果你滚动到最后,你会看到页脚如何在最后与内容重叠,为什么要这样做?我只想让页脚创建自己的空间...而且这种效果对于小型设备来说更糟糕,只需调整窗口大小
这是布局:
<v-app>
<div class="header">
<v-navigation-drawer v-model="drawer" app>
<v-list-item>
<v-list-item-content>
<v-list-item-title class="title">
{{ user.name }}
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-divider></v-divider>
<template v-slot:append>
<v-list-item link @click="logout">
<v-list-item-icon>
<v-icon>logout</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>
logout
</v-list-item-title>
</v-list-item-content>
</v-list-item>
</template>
</v-navigation-drawer>
<v-app-bar absolute app dark height="100" class="px-12">
(...)
</v-app-bar>
</div>
<v-content>
<p>content</p>
</v-content>
<v-footer absolute inset app width="auto" class="py-12">
<v-container>
<v-row justify="center">
<v-col lg="2" md="3" cols="12" align-self="center">
<v-img
src="https://picsum.photos/id/419/200/300"
max-width="50"
max-height="50"
/>
</v-col>
</v-row>
</v-container>
</v-footer>
</v-app>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此框架添加总计行,但似乎没有考虑过。我发现的唯一方法是这样做,但方法不正确......
<v-data-table
:headers="headers"
:items="desserts"
:items-per-page="5"
class="elevation-1"
>
<template slot="footer">
<tr>
<th></th>
<th>150</th>
<th>260</th>
<th>150</th>
<th>260</th>
<th></th>
</tr>
</template>
</v-data-table>
Run Code Online (Sandbox Code Playgroud)
查看此代码笔以查看结果:
https://codepen.io/slayerbleast/pen/KKKjWjP
页脚就像另一个表格,而不是重复使用相同的列。
知道如何解决这个问题吗?
我认为这很容易,但我无法实现图像向右对齐......请参阅此代码笔:
https://codepen.io/slayerbeast/pen/KKVGgKO
代码:
<v-content>
<v-container>
<v-row
align="right"
align-content="right"
class="text-right"
>
<v-col class="text-right">
<v-img
max-height="200px"
max-width="200px"
src="https://picsum.photos/200/300"
align="right"
></v-img>
</v-col>
</v-row>
</v-container>
</v-content>
Run Code Online (Sandbox Code Playgroud)
如何将图像与 v-col 内的右侧对齐
怎样才能实现这个查询?
Sale::with(['catalog'])
->whereIn('id', $ids)
->update(['price' => DB::raw('catalog.price')]);
Run Code Online (Sandbox Code Playgroud)
这不起作用,它显示未定义的表......我试图输入表的名称,但它是相同的。
在互联网上,我总能找到简单的查询:
Sale::with(['catalog'])
->whereIn('id', $ids)
->update(['price' => 5]);
Run Code Online (Sandbox Code Playgroud)
好的!当我想用相同的值更新所有行时很容易,另外当你想用同一个表的列更新时也很容易,比如:
Sale::with(['catalog'])
->whereIn('id', $ids)
->update(['price' => DB::raw('price_alternative')]);
Run Code Online (Sandbox Code Playgroud)
但是如何使用具有关系的另一个表的列呢?我还没有找到解决方案。
我知道这可以使用整个原始查询来解决,但我想知道是否可以通过雄辩的方式来实现
我在使用选择行的数据表时遇到问题。我有禁用复选框的行,但无论如何选择都会检查它们......这是一个错误吗?
我做了一个代码笔:https ://codepen.io/slayerbleast/pen/jOWjzWJ
如何修复 selectAll 复选框只检查可用的复选框?
模板:
<v-content>
<v-data-table
v-model="selected"
:headers="headers"
:items="desserts"
item-key="name"
show-select
>
<template #item="{ item }">
<tr>
<td>
<v-checkbox
:disabled="item.calories > 250"
class="pa-0 ma-0"
:ripple="false"
v-model="selected"
:value="item"
hide-details
>
</v-checkbox>
</td>
<td>{{item.name}}</td>
<td>{{item.calories}}</td>
<td>{{item.fat}}</td>
<td>{{item.carbs}}</td>
<td>{{item.protein}}</td>
<td>{{item.iron}}</td>
</tr>
</template>
</v-data-table>
</v-content>
Run Code Online (Sandbox Code Playgroud)
数据:
data: () => ({
selected: [],
headers: [
{
text: 'Dessert (100g serving)',
align: 'start',
sortable: false,
value: 'name',
},
{ text: 'Calories', value: 'calories' },
{ text: 'Fat (g)', value: 'fat' },
{ …Run Code Online (Sandbox Code Playgroud)