मेरी समस्या निम्न है। मैं सिम्फनी के साथ सोनाटा एडमिन का उपयोग कर रहा हूं। व्यवस्थापक अनुभाग में, जब मैं एक इकाई बनाने का प्रयास करें, कुछ भी नहीं दिखाई देता है जब मैं बटन जोड़ें (वर्तनी "Ajouter") पर क्लिक करें:मैं नेस्टेड व्यवस्थापक के अंदर एक इनलाइन संपादन कैसे कर सकता हूं?
मैं निम्नलिखित त्रुटि मिलती है: क्रोम कंसोल
मेंCall to a member function getName() on a non-object
Video ---OneToOne--> String ---OneToMany--> LocalizedString
सीधे शब्दों में, मैं एक वीडियो है कि एक शीर्षक होगा और इस शीर्षक अनुवाद किया जाएगा:
यहाँ कैसे मेरी संस्थाओं पदानुक्रम है, मैं तीन वस्तुओं है कि निम्नलिखित तरीके से एक साथ जुड़े हुए हैं। यहाँ मेरी संस्थाओं हैं:
LocalizedString
OSC\UtilsBundle\Entity\LocalizedString:
type: entity
table: null
repositoryClass: OSC\UtilsBundle\Entity\LocalizedStringRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
fields:
locale:
type: string
length: '20'
content:
type: string
length: 255
manyToOne:
parent:
targetEntity: String
mappedBy: localizedObjects
lifecycleCallbacks: { }
स्ट्रिंग
OSC\UtilsBundle\Entity\String:
type: entity
table: null
repositoryClass: OSC\UtilsBundle\Entity\StringRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
oneToMany:
localizedObjects:
targetEntity: LocalizedString
mappedBy: parent
cascade: ["persist", "remove"]
lifecycleCallbacks: { }
वीडियो
OSC\MySportBundle\Entity\Video:
type: entity
table: null
repositoryClass: OSC\MySportBundle\Entity\VideoRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
oneToOne:
title:
targetEntity: OSC\UtilsBundle\Entity\String
cascade: ["persist", "remove"]
lifecycleCallbacks: { }
तो, मैंने सोनाटाएडमिन में संपादन की सुविधा के लिए यह संरचना की। यदि, व्यवस्थापक डैशबोर्ड के माध्यम से, मैं एक स्ट्रिंग को संपादित करना चाहता हूं, मैं आसानी से एक स्ट्रिंग संपादित कर सकता हूं और इसे कई भाषाओं में अनुवाद कर सकता हूं (यह पहले से ही काम करता है)।
हालांकि, जब मैं वीडियो व्यवस्थापक में ऐसा करने का प्रयास करता हूं, ऐसा लगता है कि मैं स्ट्रिंग ऑब्जेक्ट के इनलाइन संपादन (ऐड बटन पर क्लिक नहीं करता) पर क्लिक नहीं कर सकता।
$formMapper
->add('title', 'sonata_type_admin', array('delete' => false, 'btn_add' =>false), array(
'edit' => 'inline',
'inline' => 'table',
));
मैं क्या पाया है से, यह दो imbricated रूपों की तरह दिखता है कर रहे हैं संभव नहीं:
यहाँ वीडियो व्यवस्थापक कक्षा में प्रासंगिक कोड है? क्या उस प्रतिबंध को रोकने का कोई तरीका है? या शायद यह मेरा डिजाइन है जो बहुत अच्छा नहीं है?
Edit1: ऐसा लगता है एक पैच GitHub पर आ रहा है की तरह: https://github.com/sonata-project/SonataAdminBundle/pull/1971#issuecomment-58023124
किसी को भी जानता है मैं इसे कैसे उपयोग कर सकते हैं मुझे खुशी होगी।
बस 'sonata_type_model' का उपयोग करें और बेहतर नियंत्रण प्राप्त करने के लिए इसके संबंधित विकल्पों को पास करें –
क्या आपने 'इनलाइन' => 'table'' के साथ sonata_type_admin के बजाय sonata_type_collection के साथ' इनलाइन '=>' मानक'' का प्रयास किया है? –
और आपकी स्ट्रिंगएडमिन भी क्या है? –