如果子元素包含某个类,是否有任何方法可以在 sass 中选择父元素?
基本上我正在使用 tooltipster 插件并遇到这个问题
HTML
<div class="tooltipster-content">
<span id="note-options">
<ul>
<li>Create new note</li>
<li>Add new edit note</li>
</ul>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#note-options {
//From here, select the .tooltipster-content parent
ul {
li {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要能够.tooltipster-content根据 span 标签的 id选择类。
Tooltipster 将始终使用相同的 HTML 结构生成,但我不想更改所有工具提示的 tooltipster 包装器,我想针对每个工具提示进行更改。
由于 tooltipster 不会将您指定的 id 添加到用于基本 CSS 编辑的父包装器,我能想到的唯一方法是尝试使用跨度 ID 来选择最接近的.tooltipster-content类。
这是可以实现的吗?
注意 - 我不想使用 javascript/jquery 来解决这个问题,我想尝试在 CSS/SASS 中实现它。
我使用以下代码更新了 wordpress 以允许 webp 上传,
function webp_upload_mimes( $existing_mimes ) {
$existing_mimes['webp'] = 'image/webp';
return $existing_mimes;
}
add_filter( 'mime_types', 'webp_upload_mimes' );
Run Code Online (Sandbox Code Playgroud)
效果很好,但是 webp 图像没有在媒体选择器中显示预览,如图所示
无论如何我可以强制wordpress渲染webp预览吗?当我的网站完成时,它可能有数百个 webp 图像,在选择时无法看到它们可能是一个巨大的痛苦!
在脚本中回显控制台的最佳方法是什么composer.json?例如,我使用脚本部分创建了一个自定义安装程序,最后我想在控制台中显示一条消息。
目前我只是做这样的回声
"scripts": {
"post-update-cmd": [
"clear",
"echo \"\n\nInstallation Complete\""
]
}
Run Code Online (Sandbox Code Playgroud)
这是可行的,但它会在控制台中打印出命令和回显,所以它最终看起来像这样。
由于 Composer 无论如何都会输出脚本中的所有自定义命令,因此它会加倍并且看起来很丑!
使用编写器脚本将消息回显到控制台的最佳和最干净的方法是什么?
我有一个有点问题,当谈到绑定到由字体真棒JS生成的字体真棒元素<i>来<svg>。
我正在尝试使用tooltipster将自定义 HTML 元素附加到<i>我的 Laravel 5 应用程序中的标签,如下所示
刀刃
<i class="fa fa-ellipsis-h doc-settings room-image-settings-tooltip" data-tooltip-content="#room_image_settings_{{$key}}" aria-hidden="true"></i>
Run Code Online (Sandbox Code Playgroud)
JS
//Tooltip enable
$('.room-image-settings-tooltip').tooltipster({
theme: 'tooltipster-punk',
trigger: 'click',
animation: 'grow',
minWidth: 300,
interactive:true,
animationDuration:200
});
Run Code Online (Sandbox Code Playgroud)
这导致 Font Awesome 创建这样的 SVG
如您所见,效果很好。它接管了所有属性。问题是,如果没有 font awesome 5,当它保留为<i>元素时绑定得很好,但是当转换为 时<svg>,即使上面的 tooltipster js 位于文档就绪标记内,也必须重新运行 tooltipster 代码在控制台中使其工作并绑定到<svg>.
我的 JS 正在按此顺序加载
应用程序.js
require('@fortawesome/fontawesome-pro/js/all');
$(document).ready(function(){
//Tooltip enable
$('.room-image-settings-tooltip').tooltipster({
theme: 'tooltipster-punk',
trigger: 'click',
animation: 'grow',
minWidth: 300,
interactive:true,
animationDuration:200
});
}); …Run Code Online (Sandbox Code Playgroud) 有没有什么方法可以运行 laravelseed仅插入不存在的记录?
我当前的 laravel 播种机看起来像这样
DB::table('users')->insert([
//Global Admin
[
'member_id' => 11111111,
'firstname' => 'Joe',
'lastname' => 'Bloggs'
],
[
'member_id' => 22222222,
'firstname' => 'Jim',
'lastname' => 'Bloggs'
],
]);
Run Code Online (Sandbox Code Playgroud)
相当标准!
我是否必须将每个插入内容都包装在 try catch 中?像这样
try {
DB::table('users')->insert(['member_id' => 11111111, 'firstname' => 'Joe', 'lastname' => 'Bloggs']);
} catch(Exception $e){
//Die silently
}
try {
DB::table('users')->insert(['member_id' => 22222222, 'firstname' => 'Jim', 'lastname' => 'Bloggs']);
} catch(Exception $e){
//Die silently
}
Run Code Online (Sandbox Code Playgroud)
稍后,我可能想向同一个播种器添加额外的行,而不必编写新行,然后重新运行php artisan db:seed以仅添加新行。
这可能吗?
我有 2 个这样的约会
2018-01-01和2019-01-01
我想返回这两个日期之间所有月份的列表,但同时在列表中获取月初和月末,如下所示
2018-01-01 - 2018-01-31
2018-02-01 - 2018-02-28
2018-03-01 - 2018-03-31
Run Code Online (Sandbox Code Playgroud)
对于这两个日期之间的所有月份,依此类推。我该如何使用 Moment JS 来做到这一点?
我将无法根据某些情况验证用户的电子邮件地址。
例如
如果正在创建用户,则电子邮件地址必须唯一
如果用户正在更新,但电子邮件地址未更改,请忽略唯一的电子邮件规则
如果要更新用户且其电子邮件地址已更改,则该地址必须唯一
我环顾四周,我知道我可以根据像这样的方法指定不同的规则
public function rules()
{
$user = User::find($this->users);
switch($this->method())
{
case 'POST':
{
return [
'user.email' => 'required|email|unique:users,email',
];
}
case 'PUT':
case 'PATCH':
{
return [
'user.email' => 'required|email,
];
}
default:break;
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何方法可以使该规则在放置/修补情况下检查电子邮件地址是否已更改,如果必须更改,则该电子邮件地址必须是唯一的?
如果不是,有没有更干净的方法可以实现这一目标?也许没有开关盒?也许我还没有偶然发现更多的深度验证规则?
我已经看到其他框架的类似问题,但我似乎无法找到 Laravel 的答案。
实现我的目标的最佳实践/最干净的解决方案是什么。
目前可以说我有一个名为Site.
我的站点模型有一个名为的列prefix,它只是由站点名称加上新站点 ID 生成的几个大写字母,例如,站点名称为“clare”的第 1 行变为“CLA1”,“pencet”变为“PEN2” .
我的问题是我需要新行id来生成前缀,这意味着目前我必须保存它,然后像这样重新保存它。
$site = new Sites;
$site->name = 'clare';
$site->save();
//Now that we have saved, we can use the new id to create the prefix and save again
$site->prefix = strtoupper(substr($site, 0, 3)) . $site->id;
$site->save();
Run Code Online (Sandbox Code Playgroud)
我讨厌这样一个事实,因为我需要 ID,所以在最初保存它后我必须再次重新保存它,实现此目标的最佳方法是什么?是否可以在保存之前返回新模型 ID?
我知道我可以做一些事情,比如获取所有行的计数并以这种方式获取 ID,但我通常正在寻找最好、最干净的解决方案来实现这一目标。
这个问题实在是很难说清楚,所以我对这个标题表示歉意!
假设我有一个Rooms模型和一个Bookings模型,1 个房间可以有多个预订。
我正在构建一个带有过滤器的表,如果有预订,我需要能够对预订关系运行过滤器,否则无论如何都会获取记录。
假设我的房间有这样的预订关系
public function latestBooking(){
return $this->hasOne('App\Models\Bookings', 'room_id', 'id')
->orderBy('expiry_date', 'DESC')->limit(1);
}
Run Code Online (Sandbox Code Playgroud)
上述关系为我提供了最新的预订。
我正在运行“空缺”过滤器,如下所示
if ($request->has('filters.vacant_from')) {
$rooms = $rooms->whereHas('latestBooking', function ($query) use ($request) {
$query->where('expiry_date', '<', Carbon::createFromFormat('d/m/Y',$request->input('filters.vacant_from'))->format('Y-m-d'));
});
}
Run Code Online (Sandbox Code Playgroud)
问题是,这只能获取已预订且在指定日期之后可用的房间。我需要它能够搜索所有房间,如果确实有预订,请检查到期日期是否在指定日期之后,如果没有最新预订,则无论如何都要获取它,因为它是空房间。
基本上我将如何构建我的过滤器函数,以便它像这样运行
搜索所有房间,如果有最新预订,检查其到期日期是否在指定日期之后,仅在其真实/空置时才获取它,如果没有最新预订,则无论如何获取它,因为它是空置的
这是我的问题。
我目前正在 Laravel 中构建一个应用程序,并使用 DropZone 来上传用户图像。现在在“新用户”页面上,我有用户详细信息和 dropzone 保管箱,它们都被单独处理。
我将首先运行“创建用户”方法,然后如果没问题,上传图像。
问题在于 Dropzone 在准备上传时不知道新用户 ID(因为它需要分配给数据库中的正确用户)。
我以某种方式需要能够将新用户 ID 传递回 dropzone 'processQueue' 方法,以在图像上传中使用新用户 ID,有人知道这是否可行吗?
在一个完美的世界中,我将能够将新 id 传递到“processQueue”函数中,例如processQueue(newUserId)获取它并将其添加到表单数据中以与图像一起发送。
到目前为止,这是我的代码
HTML
<div id="user_profile" class="dropzone dropzone-box">
<div class="dz-message needsclick">
<h3>Select Image</h3>
<hr>
<p>Click here or drag and drop image</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
//Bind dropzone to user profile image
var userProfile = new Dropzone('#user_profile',{
url: '/ajax/userProfileUpload',
autoProcessQueue:false,
maxFiles:1,
addRemoveLinks:true,
paramName: 'profile_pic', // The name that will be used to transfer the file
init: function(){
this.on("maxfilesexceeded", function(file) …Run Code Online (Sandbox Code Playgroud) php ×6
laravel ×5
laravel-5 ×4
javascript ×3
composer-php ×1
css ×1
dropzone.js ×1
eloquent ×1
font-awesome ×1
momentjs ×1
request ×1
sass ×1
svg ×1
tooltipster ×1
validation ×1
wordpress ×1