Nasıl bir Doktrin YML fikstür HTML saklayabilirsiniz

2 Cevap php

Ben Symfony 1.4 (Doktrini 1.2) bir CMS-tipi sitesi ile çalışıyorum ve bana sinir bozucu şeylerden biri YML armatürleri HTML sayfaları saklamak mümkün değildir. Ben bırakın ve Symfony / Doktrin tam bu iş için harika bir mekanizması olan bir zararlının biraz olan yeniden inşa etmek istiyorsanız bunun yerine veri SQL yedeklerini oluşturmak zorunda.

Ben her sayfa için HTML dosyaları bir dizi okur ve bu şekilde verileri doldurur (hatta bir görev olarak yazmak) bir mekanizma yazabilirsiniz. Doktrin, sadece veritabanına içe böylece bir YML fikstür saklanacak HTML için herhangi bir yolu yoktur ama eğer ben o yolda gitmeden önce ben merak ediyorum.

Update:

I symfony doctrine:data-dump kullanarak denedim ve symfony doctrine:data-load ancak doğru HTML ile fikstür oluşturma dökümü rağmen, yük görev HTML ile sütunun değerini 'atlamak' görünür ve her şey girer Başka satıra. Veritabanında alan yüzden Doktrini'' olarak sütunun değerini ekleyerek inanıyorum 'null' değil boş olarak görünmüyor.

Aşağıda symfony doctrine:data-dump yarattığı YML fikstür bir örnek. I symfony doctrine:data-load tüm kaçtı karakterleri (sadece açılı ayraçlar bırakarak yeni hatlar ve tırnak) çıkarmadan ama hala çalışmıyor dahil olmak üzere bu çeşitli biçimlerine karşı çalışıyor denedim.

  Product_69:
    name: 'My Product'
    Developer: Developer_30
    tagline: 'Text that briefly describes the product'
    version: '2008'
    first_published: ''
    price_code: A79
    summary: ''
    box_image: ''
    description: "<div id=\"featureSlider\">\n    <ul class=\"slider\">\n        <li class=\"sliderItem\" title=\"Summary\">\n            <div class=\"feature\">\n              Some text goes in here</div>\n        </li>\n    </ul>\n  </div>\n"
    is_visible: true

2 Cevap

Aşağıda bu biçimi kullanabilir miyim?

  Product_69:
    name: 'My Product'
    Developer: Developer_30
    tagline: 'Text that briefly describes the product'
    version: '2008'
    first_published: ''
    price_code: A79
    summary: ''
    box_image: ''
    description:   |
        <div id="featureSlider">
            <ul class="slider">
                <li class="sliderItem" title="Summary">
                    <div class="feature">Some text goes in here</div>
                </li>
            <ul>
        </div>
    is_visible: true

Ben benzer bir sorunu vardı ve ben veritabanında storing html ama outputting html bir sorun olmadığını öğrendim. Symfony cross-site scripting-önlemek için tırnak ile bir dize olarak html ile çıktı metin gibi görünüyor. Ancak, ham metni işlemek için bir yol var. Yerine kullanıyor:

<?php echo $htmlText ?>

Kullanın:

<?php echo $sf_data->getRaw('htmlText') ?>

Siz bu konuda daha fazla bilgi bulabilirsiniz A Gentle Introduction to symfony: Chapter 7 - Inside The View Layer:

http://www.symfony-project.org/gentle-introduction/1_4/en/07-Inside-the-View-Layer