Dal işlevi parametresi olarak kullanılması kayıt değeri

oy
0

Ben bir XML dosyası ayrıştırmak ve XML için deserialised nesne ağacı dönmek için bir Cıvata uzantısı yazmaya çalışıyorum. ayrıştırma ve deserialising bir cazibe gibi çalışıyor ama Twig fonksiyonu için parametre olarak çalışan sayfa kaydından dosya adı alınamıyor.

Uzatma kodu (basitleştirilmiş) 'dir:

class CompetitionExtension extends SimpleExtension
{
    protected function registerTwigFunctions()
    {
        return [
            'competition' => 'competitionFunction',
        ];
    }

    /**
     * Load and parse the competition XML.
     *
     * @param string $filename
     * @return Competition
     */
    public function competitionFunction(string $filename) : Competition
    {
        $competition = null;
        $loader = new FileLoader($filename);
        if ($loader->openFile()) {
            $competition = $loader->parse();
        }
        return $competition;
    }
}

contenttype(Genişletilmiş homepage) eklenmesidir:

competitionxml:
    type: file
    upload: competitions
    group: content

Dosyanın yükle da sorun yok ancak aşağıdaki Twig şablon kodu hata veriyor:

{% set xmlfile = homepage.competitionxml %}
{% set comp = competition(xmlfile) %}

Kullanılması dumpGörüyorum xmlfiledoğru değeri vardır. Ama aşağıdaki hatayı alıyorum:

An exception has been thrown during the rendering of a template (Notice: Undefined variable: filename) in index.twig at line 27.

Peki nasıl Twig fonksiyonu için parametre olarak ekin dosya adını kullanabilir?

Oluştur 20/10/2018 saat 13:58
kaynak kullanıcı
Diğer dillerde...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more