Symfony2 ব্যতিক্রম আমি কীভাবে "অ্যাসেটিকবান্ডেল কনফিগারেশনে MyBundle যুক্ত করুন" ঠিক করব?


84

আমি যখন {% javascript %}আমার .jsফাইলে লিঙ্ক রাখতে TWIG ট্যাগটি ব্যবহার করার চেষ্টা করছি তখন এটি আমাকে নিম্নলিখিত ব্যতিক্রম সহ ফিরিয়ে দেয়:

An exception has been thrown during the compilation of a template ("You must add CompetitiongameBundle to the assetic.bundle config to use the {% javascripts %} tag in CompetitiongameBundle:game:index.html.twig.") in "CompetitiongameBundle:game:index.html.twig".

আমার index.html.twigদেখতে দেখতে:

{% javascripts 'CompetitiongameBundle/Resources/views/public/js/*'%}
    <script type="text/javascript" src="{{ asset_url }}" ></script>
{% endjavascripts %}
Hello {{ name }}!

<a href='{{ nexturl }}' >Login</a>

আমার বান্ডেলটি কনফিগারেশন ফাইলে উপস্থিত থাকলেই আমি এটি করি:

php app/console config:dump-reference assetic

আমি এটা কিভাবে ঠিক করবো ?


এই প্রশ্নটি এবং প্রস্তাবিত দুটি সমাধান দেখুন: স্ট্যাকওভারফ্লো.com
কার্লোস গ্রানাডোস

গু-আইডি হ'ল আপনি আসলে এই প্রশ্নের উত্তর নির্বাচন করবেন।
tftd

উত্তর:


176

হ্যাঁ আমি চেষ্টা করেছি এবং এটি আমার জন্য সমস্যাটি সমাধান করেছে। এমন কোনও ব্যক্তির জন্য (আমার মতো) যিনি প্রাথমিকভাবে কীভাবে কেবল যুক্ত করবেন তা জানেন না:

  1. সম্পাদনা করুন app/config/config.yml
  2. তারপরে যান assetic:
  3. সম্পত্তির অধীনে: যাও bundles: []
  4. এবং bundles: []// এ আপনার বান্ডেলের নাম টাইপ করুন

উদাহরণস্বরূপ যদি আপনার বান্ডিল হয় Acme\DemoBundleতবে নিম্নলিখিতটি করুন

assetic:
   bundles: [ AcmeDemoBundle ]

আশেপাশে কোন উদ্ধৃতি নেই AcmeDemoBundle। এটাই. (সিমফনি 2)


14
প্রয়োজনে অতিরিক্ত বান্ডিলগুলি কমা দ্বারা পৃথক করা উচিত।
জুট

4
আমি symfony2.3 ব্যবহার করছি, আমি অ্যারেতে আমার বান্ডিলটি যুক্ত করেছি তবে আমার এখনও একই ব্যতিক্রম রয়েছে। এমনকি আমি যখন বান্ডিলগুলিতে মন্তব্য করি তখনও আমি একই ব্যতিক্রম বার্তাটি পাই। আমার কি করা উচিৎ?
দেব ডস

আপনি যদি প্রোডে স্থানান্তরিত হন এবং এই সমস্যাটি থাকে তবে আপনার ক্যাশে পরিষ্কার করতে এবং আপনার সম্পত্তির সম্পদগুলি ডাম্প করতে ভুলবেন না: "পিএইচপি অ্যাপ্লিকেশন / কনসোল ক্যাশে: পরিষ্কার --env = প্রোড - না-ডিবাগ" এবং "পিএইচপি অ্যাপ / কনসোল অ্যাসেটিক: ডাম্প --env = প্রোড
বার্ট্র্যান্ড

@ ডেভ ডস আপনি কি সমাধান খুঁজে পেয়েছেন ..?
Euphor08

24

যদি আপনি সম্পত্তিকে ডিফল্টরূপে আপনার বান্ডিলগুলি অন্তর্ভুক্ত করতে চান তবে আপনি লাইনটিতে (# দিয়ে) মন্তব্য করতে পারেন bundles: []

প্রাক্তন:

assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    #bundles:        [ ]
    #java: /usr/bin/java

বান্ডিল মন্তব্য করার জন্য কোন পার্শ্ব প্রতিক্রিয়া আছে?
পারমানা

আমি যে ভাবতে পারি না কিছুই। এটি কেবল সম্পত্তিকে আপনার প্রকল্পের সমস্ত বান্ডিল অন্তর্ভুক্ত করে তোলে। হতে পারে এটি আপনার অ্যাপ্লিকেশনটিকে ধীর করতে পারে তবে ব্যক্তিগতভাবে আমি কখনই গতির কোনও পার্থক্য লক্ষ্য করিনি।
টিভি

10

কখনও কখনও আপনাকে ফ্লাইয়ের সিদ্ধান্ত নেওয়ার দরকার হয়, তারপরে আপনি DependencyInication ব্যবহার করতে পারেন ।

উদাহরণস্বরূপ লোড এবং পরিচালনা কনফিগারেশন :

<?php

namespace You\ExampeBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;

/* ... */

class YouExampeExtension extends Extension
{

    /* ... */

    public function load(array $configs, ContainerBuilder $container)
    {
        /* ... */

        $aAsseticBundle = $container->getParameter('assetic.bundles');
        $aAsseticBundle[] = 'YouExampeBundle';
        $aAsseticBundle[] = 'AnotheBundle';
        $container->setParameter('assetic.bundles', $aAsseticBundle);

        /* ... */
    }
}

আপনি কনফিগারেশন (যুক্তিসঙ্গত সীমাতে) পরিচালনা করতে আরও জটিল যুক্তি ব্যবহার করতে পারেন


4
আপনি যদি বান্ডিল উত্তরাধিকার ব্যবহার করে অন্য একটি বান্ডিল প্রসারিত করেন তবে এটি বিশেষত কার্যকর।
ফ্লু

3

আপনার বান্ডেলটি আপনার বান্ডিল যুক্ত করতে হবে: [] সম্পদের সারি: অ্যাপ / কনফিগারেশন / কনফিগারেশন.আইএমএল ফাইলের বিভাগ (সিমফনি ২.১)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.