RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[symfony3]

Martin Hope
msupreme
Asked: 2020-06-16 21:14:52 +0000 UTC

按 symfony 3 的顺序列出类别

  • 0

您需要按 id 显示类别;现在类别按字母顺序显示。如何实现按id输出?

编码:

类别输出

{% for child in categories %}
  <div class="b-block-grid__item">
    <a class="b-category-link" href="{{ child.getAbsoluteUrl() }}">
      {% if child.image %}
      <img src="{{ child.image|imagine_filter('rise_category_thumb') }}"
                                         class="b-category-link__image"/>
      {% else %}
      <span class="b-category-link__image b-category-link__image_noimage"></span>
      {% endif %}
      <span class="b-category-link__name">{{ child }}</span>
    </a>
  </div>
{% endfor %}

控制器

class ProductController extends Controller
{
    public function searchAction(Request $request)
    {
        $searchForm = $this->createForm(SearchForm::class, [], [
            'method' => 'GET'
        ]);

        if ($searchForm->handleRequest($request) && $searchForm->isValid()) {
            $q = $searchForm->get('q')->getData();

            $qs = Product::objects()
                ->published()
                ->filter(new QOr([
                    ['name__icontains' => $q],
                    ['sku__icontains' => $q],
                    ['content__icontains' => $q],
                ]));

            $pager = $this->createPagination($qs, [
                'pageSize' => 12,
            ]);

            return $this->render('rise/product/search.html', [
                'products' => $pager->paginate(),
                'pager' => $pager->createView(),
                'search_form' => $searchForm->createView(),
            ]);
        } else {
            return $this->render('rise/product/search.html', [
                'search_form' => $searchForm->createView(),
            ]);
        }
    }

    public function autocompleteAction(Request $request)
    {
        $searchForm = $this->createForm(SearchForm::class, [], [
            'method' => 'GET'
        ]);

        $products = [];
        if ($searchForm->handleRequest($request) && $searchForm->isValid()) {
            $q = $searchForm->get('q')->getData();

            $products = Product::objects()->published()->master()
                ->filter(new QOr([
                    ['name__icontains' => $q],
                    ['sku__icontains' => $q],
                    ['content__icontains' => $q]
                ]))->limit(20)->all();
        }

        return $this->render('rise/product/_autocomplete.html', [
            'products' => $products
        ]);
    }

    protected function getCollections(Category $category = null)
    {
        $qs = Collection::objects();
        if ($category) {
            $qs->filter(['categories__id__in' => $category->id]);
        }
        return $qs->all();
    }

    public function indexAction(Request $request)
    {
        $categories = Category::objects()->order(['name'])->all();

        $filter = $request->query->get('filter', []);
        $filterForm = $this->createForm(FilterFormType::class, $filter, [
            'action' => $this->generateUrl('admin_rise_product_list')
        ]);

        return $this->render('rise/product/index.html', [
            'categories' => $categories,
            'filterForm' => $filterForm->createView(),
        ]);
    }

    public function listAction(Request $request, $slug = null)
    {
        $category = null;
        if ($slug !== null) {
            $category = Category::objects()->get(['slug' => $slug]);
            if (null === $category) {
                throw new NotFoundHttpException();
            }
        }

        $qs = Product::objects()->published();
        if ($category) {
            $qs->filter(['category__id' => $category->id]);
        }

        if ($request->query->has('order')) {
            $sourceOrder = $request->query->get('order');
            if (false === empty($sourceOrder) && in_array($sourceOrder, ['', 'price', '-price'])) {
                $qs->order([$sourceOrder]);
            }
        }

        $filter = $request->query->get('filter', []);
        $filterForm = $this->createForm(FilterFormType::class, $filter, [
            'category' => $category,
        ]);
        $filterForm->handleRequest($request);
        if ($filterForm->isSubmitted()) {
            $this->get('rise.bundle.product.filter.product')->filterQuerySet($filterForm->getData(), $qs);
        }

        $pager = $this->createPagination($qs, [
            'pageSize' => 12,
        ]);

        $collections = $this->getCollections();

        if ($request->isXmlHttpRequest()) {
            return $this->render('rise/product/_list.html', [
                'products' => $pager->paginate(),
                'pager' => $pager->createView(),
                'category' => $category,
                'collections' => $collections,
                'filterForm' => $filterForm->createView(),
            ]);
        } else {
            return $this->render('rise/product/list.html', [
                'products' => $pager->paginate(),
                'pager' => $pager->createView(),
                'category' => $category,
                'collections' => $collections,
                'filterForm' => $filterForm->createView(),
            ]);
        }
    }

    public function viewAction(Request $request, $slug)
    {
        $product = Product::objects()->published()->get(['slug' => $slug]);
        if ($product === null) {
            throw new NotFoundHttpException();
        }

        $history = $this->get('rise.bundle.product.component.product_history');
        $history->add($product);

        $related = $product->related->all();

        $review = new Review(['product' => $product]);
        $reviewForm = $this->createForm(ReviewForm::class, $review, [
            'method' => 'POST',
            'action' => $this->generateUrl('rise_product_view', ['slug' => $slug])
        ]);
        if ($reviewForm->handleRequest($request) && $reviewForm->isValid()) {
            $review = $reviewForm->getData();
            if (false === $review->save()) {
                throw new \RuntimeException('Failed to save review');
            }

            $this->get('event_dispatcher')->dispatch(
                ReviewEvent::EVENT_NAME,
                new ReviewEvent($review)
            );

            $this->addFlash('success', 'Спасибо за ваш отзыв! Мы опубликуем его после проверки.');

            return $this->redirect($request->getRequestUri());
        }

        $reviewPager = $this->createPagination($product->reviews->filter(['is_published' => true]));

        return $this->render('rise/product/view.html', [
            'product' => $product,
            'images' => $product->getImages(),
            'related' => $related,
            'reviews' => $reviewPager->paginate(),
            'review_pager' => $reviewPager->createView(),
            'review_form' => $reviewForm->createView(),
            'collections' => $product->collection->all(),
        ]);
    }
}

symfony3
  • 1 个回答
  • 10 Views
Martin Hope
Стас Борзых
Asked: 2020-04-13 13:36:51 +0000 UTC

如何在 symfony 3.4 中从 config.yml 访问变量

  • 0

大家好,在 symfony 3.4 中,我在 config.yml 中定义了一些任意参数

parameters:
    locale: en

如何从 php 代码访问它们?没办法我可以谷歌。

symfony3
  • 1 个回答
  • 10 Views
Martin Hope
msupreme
Asked: 2020-02-28 01:17:03 +0000 UTC

安装 symfony/web-server-bundle 时出错

  • 0

我在 Windows 上部署一个项目,差不多完成了,但是我必须安装 symfony/web-server-bundle,使用命令安装

composer require symfony/web-server-bundle --dev

我收到一个错误

在此处输入图像描述

升级1:

团队解决的版本问题

 composer require symfony/web-server-bundle:"~3.0"--dev

在此处输入图像描述

但是如果你输入命令

php bin/console

服务器命令不存在

所以我无法启动本地服务器,可能是什么问题?

symfony3
  • 1 个回答
  • 10 Views
Martin Hope
Durrasell
Asked: 2020-02-11 08:23:18 +0000 UTC

通过 Doctrine Symfony 加入群组

  • 0
return $this->createQueryBuilder('a')
        ->leftJoin('a.arrivalProducts', 'p')
        ->select('a', 'SUM(p.cost*p.qty) as sum')
        ->groupBy('a.id')
        ->addGroupBy('p.currencyId')
        ->getQuery()
        ->getResult();

结果是 2 行。如果getArrayResult,则三行。直接查询产生三行:

SELECT a0_.id AS id_0, a0_.user_id AS user_id_1, a0_.warehouse_id AS warehouse_id_2, 
       a0_.created_at AS created_at_3, a0_.updated_at AS updated_at_4,
       SUM(a1_.cost * a1_.qty) AS sclr_5, a0_.user_id AS user_id_6,
       a0_.warehouse_id AS warehouse_id_7 
           FROM arrival a0_ LEFT JOIN arrival_product a1_ ON a0_.id = a1_.arrival_id 
   GROUP BY a0_.id, a1_.currency_id;

这是直接要求。为什么有两个对象,但数组中有三个,应该是这样。

symfony3
  • 1 个回答
  • 10 Views
Martin Hope
Михаил Тимошин
Asked: 2020-01-25 18:25:08 +0000 UTC

Symfony 3.3.10 繁重的 CPU 负载

  • 0

堆栈的 CPU 负载非常高 - nginx + php-7.1-fpm +symfony 3 向服务器发出 http 请求

cpu 加载过程 php-fpm 池 www

开发中的内容,产品中的内容

symfony3
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5