小编Mic*_*son的帖子

服务"fos_user.mailer"依赖于不存在的服务"模板化"

因此,在我为几个Symfony项目使用FOSUserBundle之后,突然发生了上述错误.

我已经尝试过包含模板服务(现在两次),看起来安装得很好.这是我的composer.json中的需求列表:

"require": {
    "php": ">=5.5.9",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/orm": "^2.5",
    "friendsofsymfony/user-bundle": "^2.0",
    "incenteev/composer-parameter-handler": "^2.0",
    "sensio/distribution-bundle": "^5.0.19",
    "sensio/framework-extra-bundle": "^5.0.0",
    "symfony/monolog-bundle": "^3.1.0",
    "symfony/polyfill-apcu": "^1.0",
    "symfony/swiftmailer-bundle": "^2.6.4",
    "symfony/symfony": "3.4.*",
    "symfony/templating": "^3.4",
    "twig/twig": "^1.0||^2.0"
},
Run Code Online (Sandbox Code Playgroud)

我按照惯例设置了config.yml,security.yml和routing.yml文件,并在AppKernel.php文件中包含了bundle.我还创建了User.php实体,但每次我尝试清除缓存或更新数据库时,都会收到此错误.

服务"fos_user.mailer"依赖于不存在的服务"模板化"

经过多次搜索,我看不出在哪里解决这个问题.对此的任何帮助都非常感谢,因为它以前从未发生过,我总是使用FOSUserBundle来满足我的安全需求.

symfony fosuserbundle

36
推荐指数
2
解决办法
2万
查看次数

使用 WooCommerce 中的变体复选框以允许多项选择

我已经使用 WooCommerce 一段时间了,但是这个问题给我带来了问题。我正在为其创建站点的客户提供培训课程和演示,而这个特定的产品(或演示)允许将几个不同的选项添加到购物车中,每个选项都有自己的价格。

因此,基本价格为零。然后有 8 种不同的演示文稿,用户可以通过其现有网站上的复选框进行选择 - 我以某种方式需要在他们的新网站上使用 WooCommerce 复制它,但我只能使用下拉菜单进行变体,据我所知它只允许一种选择。我能看到这个工作的唯一可行的方法是,如果我添加 8 个不同的下拉列表,每个下拉列表中包含所有 8 个演示文稿,然后客户选择他们想要的许多不同的演示文稿。不过这有点麻烦,并且可能会导致用户错误(例如,两次选择相同的演示文稿)。

我附上了一张我希望在 WooCommerce 中看起来像的屏幕截图,有什么办法可以实现吗?如果这是唯一的方法,我不介意使用插件。

在此处输入图片说明

wordpress variations woocommerce

6
推荐指数
1
解决办法
1万
查看次数

在完整日历月视图事件栏上环绕文本

我正在我的项目中实现完整日历的时间线视图,虽然它工作并且看起来很棒,但我唯一的问题是在时间线月视图中,事件栏没有换行,所以一半的文本被切断,特别是当该活动仅持续几天。

在“周”和“日”视图中,文本环绕得很好——它只是在“月”视图中。有什么办法可以让它包装文本吗?在某些情况下,预订中会添加注释,因此在月视图中几乎无法阅读。

我正在使用此代码添加描述:

eventRender: function(event, element) {
    element.find(".fc-event-title").remove();
    element.find(".fc-event-time").remove();
    if(event.desc) {
        var new_description =
            '<br/><div class="fc-title">' + event.desc + '</div>'
                ;
        element.append(new_description);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的日历参数中。

这是该条目在时间线“月”视图中的样子的图片:

月视图

这是日视图中的样子(我希望它看起来像):

日视图

如果有人可以帮助解决这个问题,我将不胜感激。

fullcalendar

3
推荐指数
1
解决办法
3763
查看次数

FullCalendar 如何在日视图上方显示日名称

我正在使用 FullCalendar 调度程序并希望将我的日历设置为日程日视图,并可以选择周或月。但是,我担心的是,默认视图中不显示实际的星期几,仅显示如下日期:

2018 年 1 月 15 日

我真的很想拥有这样的东西:

1 月 15 日,星期一

我什至不需要年份。

天确实出现在周和月视图中没问题,但我找不到允许在日视图中显示日期的设置,这将非常有用,例如当用户想要跳到“下周五”而不必查阅另一个视图以找出实际日期。

有任何想法吗?

fullcalendar

3
推荐指数
1
解决办法
4698
查看次数

如何使用doctrine2中的日期字段类型规定年份范围

我需要在Symfony2网站表单中下拉日期,并且在表单构建器中使用“日期”字段类型。这里是我的报关表:

$builder->add('date', 'date', array(
   'label' => 'Date',
   'format' => 'dd MM yyyy',
   'required' => true
));
Run Code Online (Sandbox Code Playgroud)

默认情况下,它将显示过去的5年和将来的5年(即2010年-2020年),但是我需要从今年开始显示,并且只显示未来几年,因为这种特殊形式没有需要过去的日期或将来的日期。

我在《 Doctrine》文档中读到,您可以列出一个年份范围,但是如何使它自动使用此年份,然后再使用几年呢?

谢谢 :)

symfony doctrine-orm

2
推荐指数
1
解决办法
1791
查看次数

如何在没有实体的学说查询中合并连接表

不确定这里的标题是否有点含糊不清,但基本上我要做的是从数据库中获取数据,但我需要引用一个没有自己的实体的连接表,因为它只在另一个实体中引用.

这是我的设置.我有一个Symfony2项目,我有一个数据库中的阶段列表,每个阶段可以是一个或多个类别.我需要从特定类别中获取所有阶段,并按相关排序顺序对其进行排序.如果我直接在mySQL中这样做,我会写:

SELECT s.stage FROM stage s LEFT JOIN stage_category sc ON sc.stage_id = s.id WHERE sc.category_id = 1 ORDER BY s.sort_order
Run Code Online (Sandbox Code Playgroud)

但问题是,"stage_category"连接表没有实体,所以如果我在我的Doctrine查询中引用它,它告诉我它不存在.我写的是:

$qb = $this->createQueryBuilder('s')
            ->select('s')
            ->join('stage_category','sc')
            ->where('sc.category_id = :cat')
            ->setParameter('cat', $cat);
Run Code Online (Sandbox Code Playgroud)

虽然,不完全确定这是否正确 - 它位于我的存储库类中,名为findStagesInCategory().

/**
 * @var \Doctrine\Common\Collections\Collection
 *
 * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Category", inversedBy="stage", cascade={"remove", "persist"})
 * @ORM\JoinTable(name="stage_category")
 * @ORM\JoinColumn(onDelete="SET NULL")
 */
private $category;
Run Code Online (Sandbox Code Playgroud)

反之亦然:

/**
 * @var \Doctrine\Common\Collections\Collection
 *
 * @ORM\ManyToMany(targetEntity="Stage", mappedBy="category", cascade={"remove", "persist"})
 */
private $stage;
Run Code Online (Sandbox Code Playgroud)

是否有任何合理的方式来获取我需要的数据?

php mysql symfony doctrine-orm

2
推荐指数
1
解决办法
2541
查看次数

FOS用户捆绑确认链接强制您登录

我被要求在CRM中添加确认电子邮件,然后用户将注册,然后发送一封电子邮件,其中包含确认的链接以启用其帐户.但是,无论何时单击链接,它都会立即重定向到登录页面,因为它们尚未确认,因此无用.我试图在security.yml文件中排除它,但到目前为止没有运气.

我试过了:

- { path: ^/register/*, role: IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/confirm/, role: IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/register/confirm/*, role: IS_AUTHENTICATED_ANONYMOUSLY }
Run Code Online (Sandbox Code Playgroud)

但这些似乎都不起作用.

根据要求,FOS注册的路由文件:

<?xml version="1.0" encoding="UTF-8" ?>

<routes xmlns="http://symfony.com/schema/routing"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">

    <route id="fos_user_registration_register" path="/" methods="GET POST">
        <default key="_controller">FOSUserBundle:Registration:register</default>
    </route>

    <route id="fos_user_registration_check_email" path="/check-email" methods="GET">
        <default key="_controller">FOSUserBundle:Registration:checkEmail</default>
    </route>

    <route id="fos_user_registration_confirm" path="/confirm/{token}" methods="GET">
        <default key="_controller">FOSUserBundle:Registration:confirm</default>
    </route>

    <route id="fos_user_registration_confirmed" path="/confirmed" methods="GET">
        <default key="_controller">FOSUserBundle:Registration:confirmed</default>
    </route>

</routes>
Run Code Online (Sandbox Code Playgroud)

FOS用户配置:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: AppBundle\Entity\User
    registration:
        confirmation:
            enabled: true
            template:   emails/registration.html.twig …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

2
推荐指数
1
解决办法
754
查看次数

蚂蚁设计日期和时间选择器不会通过Formik传递值(反应)

我目前正在使用Formik在React中进行预订。我还分别为预订日期和时间合并了Ant Design的Date Picker和Time Picker,但是我很难将值传递回组件。

这是我在表单组件中进行设置的方式(我省略了其他不相关的字段):

const { booking, handleSubmit, mode } = this.props;

...

<Formik
    initialValues={booking}
    onSubmit={handleSubmit}
    render={({errors, touched, isSubmitting}) => (
        <Form>
        ...
<div className="form-group col-sm-4 col-md-6 col-lg-4">
    <label htmlFor="booking_date">
        Booking Date <span className="required">*</span>
    </label>
    <DatePicker onChange={ (date, dateString) => setFieldValue('booking_date', dateString)} defaultValue={this.state.bookingDate}
        className="form-control" format={this.state.dateFormat} />
</div>
<div className="form-group col-sm-4 col-md-6 col-lg-4">
    <label htmlFor="start_time">
        Start Time <span className="required">*</span>
    </label>
    <TimePicker
        defaultValue={this.state.startTime}
        format={this.state.timeFormat}
        className="form-control"
        onChange={this.handleStartTimeChange}
        minuteStep={5}
        id="start_time"
        name="start_time"
    />
</div>
Run Code Online (Sandbox Code Playgroud)

这是处理时间变化(仅设置状态)的函数:

handleStartTimeChange(time) {
    this.setState({
        startTime: time
    });
}
Run Code Online (Sandbox Code Playgroud)

然后在父级上,组件的设置如下:

<BookingForm …
Run Code Online (Sandbox Code Playgroud)

datepicker reactjs formik ant-design-pro

2
推荐指数
1
解决办法
3515
查看次数

Laravel - Mailcatcher 显示“无法访问此网站”页面

我刚刚为我正在开发的 Laravel 项目安装了 Mailcatcher,并使用 Virtual Box 和 Vagrant 在本地运行该应用程序。mailcatcher当我在终端上运行命令时,我得到:

Starting MailCatcher
==> smtp://127.0.0.1:1025
/home/vagrant/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/thin-1.5.1/lib/thin/server.rb:104: warning: constant ::Fixnum is deprecated
==> http://127.0.0.1:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
Run Code Online (Sandbox Code Playgroud)

但是当我访问http://127.0.0.1:1080时,我得到以下页面:

在此输入图像描述

我的应用程序在 IP 192.168.10.10 上运行,所以我也尝试使用它,但结果相同。我不完全确定这是否与我的本地主机或 Mailcatcher 有关,但在理想的情况下,我想通过这样的 URL 运行它:192.168.10.10/mailcatcher但我不确定如何在我的项目中进行设置。如果我能让本地主机工作,我会很高兴 - 是否需要更改任何其他设置才能使其工作?或者是我的本地主机不玩球?

编辑:

如果需要,我的 Laravel 项目中的 .env 文件具有以下邮件设置:

MAIL_DRIVER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_PRETEND=false
Run Code Online (Sandbox Code Playgroud)

laravel mailcatcher

2
推荐指数
1
解决办法
746
查看次数

删除jQuery draggable移动

我已经设置了一个简单的拖放界面来实现克隆功能.我遇到的问题是,当元素被拖动到主画布然后掉落时,它会突然向右移动,而不是准确地拖到我拖动它的位置.

这是javascript:

$(function() {
  var x = null;

  $("#draggable").draggable({
    helper: 'clone',
    cursor: 'move',
    snap: '.snap-target'
  });

  $("#canvas").droppable({
    drop: function(e, ui) {
      if ($(ui.draggable)[0].id != "") {
        x = ui.helper.clone();
        ui.helper.remove();
        x.draggable({
          helper: 'original',
          containment: '#canvas',
          snap: '.snap-target'
        });
        x.appendTo('#canvas');
      }
    }
  });

});
Run Code Online (Sandbox Code Playgroud)

我创建了一个jsfiddle:

https://jsfiddle.net/kuyn6gmc/

如果您尝试将蓝色框拖动到主画布中然后释放鼠标,您将看到该框如何"弹出"到右侧.当您在画布中移动框时,它可以正常工作.在小提琴上,它没有在浏览器上的全宽时那么糟糕,我认为它相对于视口的总宽度.

如果有人知道为什么会这样,我会很感激:)

谢谢迈克尔

javascript css jquery jquery-ui draggable

1
推荐指数
1
解决办法
445
查看次数

更改已选中单选按钮旁边的图像样式

当我检查相关按钮时,我正在尝试更改组中每个单选按钮旁边的图像的背景颜色.我使用了以下HTML和CSS:

.option-choice:checked img.img-thumbnail {
    background-color: #004990 !important;
    border-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<div class="radio">
    <label>
        <input class="option-choice" name="option[227]" value="18" type="radio">
         <img src="imageurl.jpg" alt="20mm " class="img-thumbnail">20mm
    </label>
</div>
Run Code Online (Sandbox Code Playgroud)

然而CSS不起作用,图像保持不变.这可能是我的CSS不正确,还是不可能这样做?

html css

1
推荐指数
1
解决办法
44
查看次数

Laravel 刀片模板无法正确渲染表格

我对 Laravel 很陌生,但最近从某人那里接手了一个项目,并试图让邮件刀片模板进行渲染,但我遇到了问题。

查询邮件模板使用的代码如下:

@component('mail::message')
    #New customer enquiry

    We have received a new customer enquiry.

    @component('mail::table')
        | **Name**                                       | **Email**             | **Telephone**           |
        | ---------------------------------------------- |:---------------------:| -----------------------:|
        | {{$enquiry->firstname}} {{$enquiry->lastname}} | <{{$enquiry->email}}> | {{$enquiry->telephone}} |
    @endcomponent

    Thanks,<br>
    {{ config('app.name') }}
@endcomponent
Run Code Online (Sandbox Code Playgroud)

但该表格始终呈现为原始 HTML,以下是邮件在 MailCatcher 中的外观截图:

在此处输入图片说明

我已经检查了一些与此类问题有关的其他帖子,但通常是由于尝试在邮件模板中呈现多个表,但这只是一个表。是否有我遗漏的组件,或者只是 MailCatcher 没有正确呈现?

laravel blade

1
推荐指数
1
解决办法
2574
查看次数