ড্রুপাল 8 টি দ্বিগুণে এইচটিএমএল হিসাবে সরল পাঠ্য রেন্ডার করুন


15

আমি একটি প্রাচীরের মধ্যে চলে এসেছি একটি সরল পাঠ্য ক্ষেত্র থেকে একটি এসটিজি চিত্র মার্কআপ কোডটি এইচটিএমএলে রেন্ডার করার চেষ্টা করছি।

আমি প্লেইন টেক্সট ফিল্ডটি অন্য কোথাও রেন্ডারিং না করে প্লেইন টেক্সট ফিল্ড থেকে এসভিজি কোডটি রেন্ডার করতে চাইছি।

সরল পাঠ্য বিন্যাসটি বর্তমানে সমস্ত এইচটিএমএল ট্যাগ এবং <> এ রূপান্তর করে &lt; &gt;

আমি একটি ফিল্ড টেম্পলেট তৈরি করেছি এবং উভয় ক্ষেত্রে ক্ষেত্রের সামগ্রীর আউটপুট দেওয়ার চেষ্টা করেছি

{{ item.content.context.value }}

এবং

{{ item.content|raw }}

উভয়ই "কোটেশন চিহ্নগুলি" সহ প্রতিটি লাইনে স্ট্রিং মোড়ানো এবং লাইন-ব্রেকগুলিকে <br/>ট্যাগগুলিতে রূপান্তর হিসাবে মান সরবরাহ করে ।

আমার পূর্বে ফিল্ড টাইপ ফর্ম্যাটযুক্ত পাঠ্য ছিল, তবে এটি সমস্ত ট্যাগকে <pre>অনুমতি দেওয়া সত্ত্বেও, সমস্ত কিছু ট্যাগগুলিতে মোড়ানো । আমি এটি সরল পাঠ্য সহ কাজ করতে চাই।

ক্ষেত্রটি পাঠ্য আকারে ধারণ করতে হবে svg-কোডের উদাহরণ:

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
         viewBox="0 0 290 290" enable-background="new 0 0 290 290" xml:space="preserve">
    <g>
        <path fill="none" stroke="#78C681" stroke-width="3" stroke-miterlimit="10" d="M261.1,273.1H28.9c-6.6,0-12-5.4-12-12V28.9
            c0-6.6,5.4-12,12-12h232.1c6.6,0,12,5.4,12,12v232.1C273.1,267.7,267.7,273.1,261.1,273.1z"/>
        <circle fill="none" stroke="#1B435D" stroke-width="2" stroke-miterlimit="10" cx="145.2" cy="166.9" r="62.7"/>
        <line fill="none" stroke="#78C681" stroke-width="3" stroke-miterlimit="10" x1="16.9" y1="60.8" x2="273.1" y2="60.8"/>
        <circle fill="none" stroke="#1B435D" stroke-width="2" stroke-miterlimit="10" cx="178.3" cy="152.3" r="6.8"/>
        <path fill="none" stroke="#1B435D" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M115.1,167.9
            c8.8,0,22.3,3.2,28.4,4.7"/>
        <path fill="none" stroke="#1B435D" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M151.9,216.9
            c0,0,17.2-1.5,29.6-14.8"/>
    </g>
</svg>

আশা করি কেউ সাহায্য করতে পারেন।

সেরা

Alari


বাক্সের বাইরে সরল পাঠ্যের একটি ফিল্টার রয়েছে যা মার্কআপ থেকে পালিয়ে যায়। |rawইতিমধ্যে মার্কআপ থেকে পালানো যায় না es টুইগের অটো পালানোর আগে পালানো ঘটনা ঘটছে।
কটার

উত্তর:


17

দ্রুপাল সম্প্রদায়ের আইওয়ারওয়ানের সমাধান :

ক্ষেত্র - নোড - [ক্ষেত্রের নাম]। html.twig:

{% if svg %}
  <div class="my-svg">
    {{ svg|raw }}
  </div>
{% endif %}

THEME.info:

/**
* Implements hook_preprocess_field().
*/
function MYTHEME_preprocess_field(&$variables, $hook) {
    switch ($variables['element']['#field_name']) {
      case 'field_svg_test':
        $variables['svg'] = $variables['items'][0]['content']['#context']['value'];
        break;
    }
}

হেই, আমার "আমি কাজ করছি" দেখে মনে হচ্ছে আইআরসি ডাক নাম এখানে এসেছে: ডি গুগল করার সময় মজাদার আবিষ্কার!
ইভিডিওন

আশা করি আপনি কিছু মনে করবেন না :) এটি আমাকে সহায়তা করেছে, তাই আমি ভেবেছিলাম ভাগ করে নেব।
আলারি ট্র্রুটস

7

আপনি মানটির উপর কাঁচা ফিল্টার প্রয়োগ করার চেষ্টা করেছিলেন?

{{ item.content.context.value|raw }}

তবে এটি নিরাপদ নয়। আউটপুট ফাইলগুলি করতে, আপনি একটি ফাইল ক্ষেত্র ব্যবহার করতে পারেন। লিঙ্কটি উত্পন্ন করার জন্য এটির সঠিক ক্ষেত্র বিন্যাস রয়েছে। আপনি যদি আপনার প্রয়োজন অনুসারে ইউআই-তে লিঙ্কটি কনফিগার করতে সক্ষম না হন তবে আপনি এই নির্দিষ্ট ক্ষেত্রটির জন্য দ্বিখণ্ডিত বা প্রিপ্রসেসিটি পরিবর্তন করতে পারেন।


rawসরানো হচ্ছে / সরানো হয়েছে: drupal.org/node/2603074
ক্লাইভ

4 কে 4: ক্ষেত্রটি একটি সরল পাঠ্য ক্ষেত্র এবং কোনও ফাইল নয়। ক্ষেত্রের মানটি কোনও এসজিজি চিত্রের অনুলিপি করা মার্কআপ হবে। আমি আপনার সমাধানটি চেষ্টা করেছি, তবে কিছুই আলাদা নয়, এখনও উদ্ধৃতি চিহ্ন মোড়ানো এবং লাইনব্রেকস ইস্যুটি পান। এছাড়াও এখন ক্লাইভ যা বলেছিল তার পরে | কাঁচা ব্যবহার করার বিষয়ে আমি চিন্তিত এবং কোনও সমাধানে পৌঁছানোর থেকে আরও দূরে।
আলারি ট্রুটস

আপনি কোনও সমাধানে পৌঁছানো থেকে আরও দূরে রয়েছেন, কারণ আপনি স্বয়ংক্রিয়ভাবে পালানোর চেষ্টা করছেন এবং ড্রুপাল আপনাকে এটিকে নিরুৎসাহিত করার জন্য সমস্ত কিছু চেষ্টা করে। আমার উত্তরে বর্ণিত হিসাবে ফাইল লিঙ্কগুলি সরবরাহ করার জন্য সেখানে যে প্রক্রিয়াটি রয়েছে তা আরও ভাল ব্যবহার করুন। এবং তারপরে রেন্ডারিং পরিবর্তন করতে যথাযথ টুইগ টেম্পলেটগুলি ব্যবহার করুন।
কে 4

4 কে 4: ক্ষেত্রটি যে বিষয়বস্তুটি ধারণ করতে হবে তা কোনও ফাইল নয় বলে আমি এখন কিছুটা বিভ্রান্ত। এটি পাঠ্য / এসভিজি-কোড আকারে। আমি উদাহরণ দিয়ে প্রশ্নটি আপডেট করেছি।
আলারি ট্রুটস

সরল পাঠ্য এই এসভিজি কোডটি আউটপুট দিতে সক্ষম হবে না। আপনি কি "ফুল এইচটিএমএল" টেক্সট ফর্ম্যাটটি চেষ্টা করেছেন, যদি এটি এসভিজি-কোডটি প্রক্রিয়া করতে পারে? যদি তা না হয় তবে আপনি নিজের নিজের এসভিজি-ফাইলে এসভিজি আরও ভালভাবে স্থাপন করতে পারেন।
4k4

6

এটি আমার পক্ষে কাজ করেছে:

{{ item.content['#context'].value|raw }}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.