ভিউ-ভিউ-অপরিশোধিত - ভিউ-মেশিন-নেম html.twig- তে প্রতিটি ক্ষেত্রের মান কীভাবে পাবেন?


19

আমার কাছে একটি দ্বৈত ফাইল রয়েছে: ভিউ-ভিউ-অপরননীয় - ভিউ-মেশিন-নেম html.twig

{#
/**
 * @file
 * Default theme implementation to display a view of unformatted rows.
 *
 * Available variables:
 * - title: The title of this group of rows. May be empty.
 * - rows: A list of the view's row items.
 *   - attributes: The row's HTML attributes.
 *   - content: The row's content.
 * - view: The view object.
 * - default_row_class: A flag indicating whether default classes should be
 *   used on rows.
 *
 * @see template_preprocess_views_view_unformatted()
 *
 * @ingroup themeable
 */
#}
{% if title %}
  <h3>{{ title }}</h3>
{% endif %}
{% for row in rows %}
  {%
    set row_classes = [
      default_row_class ? 'views-row',
    ]
  %}
  <div{{ row.attributes.addClass(row_classes) }}>
    {{ row.content }}
  </div>
{% endfor %}

আমি চাই Titleএবং body ক্ষেত্রটি কমা দ্বারা পৃথক করা 1 লাইনে থাকতে চাই:

শিরোনাম, শরীর

ডিবাগ করার সময় আমি কীভাবে এই শিরোনামে 'শিরোনাম' বা 'বডি' বা অন্য কোনও ক্ষেত্রের মূল্য পেতে পারি?

আমি কিন্ত (শিরোনাম) এবং কিন্ট (বডি) ব্যবহার করেছি তবে এটি কাজ করছে না। আমি debug = TRUE;সার্ভিস ফাইলও তৈরি করেছি ।

তবে ফরম্যাটেড এইচটিএমএল টুইগের ক্ষেত্রে ক্ষেত্রের মান থাকার উপায়টি খুঁজে বের করতে পারি না।

উত্তর:


20

যেমন আপনি ভিউ-ভিউ--বিন্যাসিত html.twig এ দেখতে পাচ্ছেন , এটি আপনার মন্তব্যকৃত কোড যা বলেছে তাও বলে, কোনও ক্ষেত্র পরিবর্তনশীল নয়। অতএব, এই টেমপ্লেটটি ক্ষেত্রগুলির জন্য ব্যবহৃত হয় না।

উপলব্ধ ভেরিয়েবলগুলি:

  • শিরোনাম: সারিগুলির এই গোষ্ঠীর শিরোনাম। খালি থাকতে পারে।
  • সারি: দেখার সারি আইটেমগুলির একটি তালিকা।
    • বৈশিষ্ট্য: সারিটির এইচটিএমএল বৈশিষ্ট্য।
    • সামগ্রী: সারিটির সামগ্রী।
  • ভিউ: ভিউ অবজেক্ট।
  • default_row_class: একটি পতাকা নির্দেশ করে যা সারিগুলিতে ডিফল্ট ক্লাস ব্যবহার করা উচিত।

আপনি যদি কোনও ভিউ টেমপ্লেটে ক্ষেত্রগুলি ব্যবহার করতে চান, তবে ভিউ-ভিউ-ক্ষেত্রগুলি - [ভিউ-নাম] - [মেশিন-নাম] .html.twig ব্যবহার করুন । সেখানে, আপনি আপনার ক্ষেত্রগুলি এভাবে মুদ্রণ করতে পারেন:

<span>{{ fields.title.content }},</span><span>{{ fields.body.content }}</span>

আন্ডারস্কোর সহ ভিউ_নাম রাখা হয়েছে, যখন আন্ডারস্কোর সহ মেশিনের নাম
কমে

1
view-view-fields.html.twig কে / কোর / মডিউল / ভিউ / টেম্পলেট ফোল্ডার থেকে অনুলিপি করা যায় এবং তারপরে উপরের মত নামকরণ করা যেতে পারে। ফুবারের একটি মেশিন_নামের সাথে প্রদত্ত দর্শনের জন্য, নতুন নামটি ভিউ-ভিউ-ফিল্ড হতে পারে - foobar.html.twig। নামকরণ নিয়মাবলী আরো তথ্য এখানে পাওয়া যায়: drupal.org/docs/8/theming/twig/twig-template-naming-conventions
bkudrle

13

আমি কিন্ত ব্যবহার করে একটি উপায় পেয়েছি, আপনি ভিউ-ভিউতে ক্ষেত্রের মানগুলি পেতে পারেন - unformatted.html.twig

আপনি যদি একটি নির্দিষ্ট ক্ষেত্র চান

পাঠ্য ক্ষেত্রের মান পেতে

{{row.content['#row']._entity.field machine name[0].value}}

চিত্র ক্ষেত্রগুলি পেতে src

{{file_url(row.content['#row']._entity.field machine name.entity.uri.value)}}

চিত্র Alt, শিরোনাম, প্রস্থ, উচ্চতা পেতে

{{row.content['#row']._entity.field machine name[0].alt/title/width/height}}

দ্রষ্টব্য: ফিল্ড মেশিনের নামটি আপনার ক্ষেত্রের মেশিনের নামের সাথে প্রতিস্থাপন করুন

আপনি যদি একাধিক ক্ষেত্রের মধ্য দিয়ে লুপ করতে চান

{% for i in range(0, 10) %}
  {{ row.content['#row']._entity.body[i].value }}
{% endfor %}

আপনি যদি কাঁচা মান চান

{% for i in range(0, 10) %}
  {{ row.content['#row']._entity.body[i].value|raw }}
{% endfor %}

7

আমি পুঁটি ব্যবহার করার উপায় খুঁজে পেয়েছি।

আপনার ভিউ-ভিউ-অব্যাহত বিন্যাসহীন। Html.twig এর ভিতরে আপনার স্বতন্ত্র ক্ষেত্রগুলি প্রদর্শন করতে নিম্নলিখিত কোডটি ব্যবহার করুন:

{% for row in rows %}

{{ row.content['#view'].style_plugin.render_tokens[ loop.index0 ]['{{ YOUR_FIELD_NAME }}'] }}

{% endfor %}

ইমেজ ফিল্ড কীভাবে ব্যবহার করবেন। আমি যখন ফিল্ড-আইমেজ ব্যবহার করি তখন কোনও আউটপুট থাকে না। চিত্রটির URL প্রদর্শন বা উপস্থাপনা করছে না!
হরিশ এসটি

4

নীচে ভিউ-ভিউ-অপরিশোধিত। Html.twig ফাইলের ক্ষেত্রে ক্ষেত্রের মানগুলিতে অ্যাক্সেসের জন্য নমুনা কোডটি দেওয়া হয়েছে -

{% for row in rows %}
  {% set photo = file_url(row['content']['#row']._entity.field_page_photo.entity.fileuri) %}          
  <li><img src={{ photo }} class="img-responsive img-circle"></li>
{% endfor %}

পারফেক্ট! এই জিনিসটি আমি জানতে চাই, ধন্যবাদ রেণুকা।
নীলাদ্রি বন্দ্যোপাধ্যায় - উত্তরপাড়া

3

টুইগ ফাইল ব্যবহার করে ভিউগুলিকে ওভাররাইড করতে আপনার তিনটি ফাইল তৈরি করতে হবে।
1. ভিউ-ভিউ - foobar.html.twig
2. ভিউ-ভিউ-অরক্ষিত - foobar.html.twig
3. ভিউ-ভিউ-ফিল্ডস - foobar.html.twig

তিনটি ফাইলের উদ্দেশ্য নীচে বর্ণিত হয়েছে:
1: মূল দেখার টেমপ্লেটের জন্য ডিফল্ট থিম প্রয়োগ।
2: ফর্ম্যাট না হওয়া সারিগুলির প্রদর্শন প্রদর্শনের জন্য ডিফল্ট থিম প্রয়োগ।
3: সারিবদ্ধভাবে সমস্ত ক্ষেত্র প্রদর্শন করতে ডিফল্ট ভিউ টেম্পলেট।

আপনার প্রতিটি ক্ষেত্রের ভিউগুলিতে আউটপুট দেওয়ার জন্য আপনার "ভিউ-ভিউ-ফিল্ডস - foobar.html.twig" ব্যবহার করা উচিত।

নীচে একটি নমুনা দেওয়া হল:

<li>
<p>{{ fields.title.content }}</p> // Title field
<p>{{ fields.body.content }}</p> // Body field
<span>{{ fields.created.content }}</span> // Node authored date field
<a href="{{ fields.path.content }}" class="readmore"> read more </a> // Link to actual page
</li>

হাই, আমি উপরের ভিউ-ভিউ-foobar.html.twig এ চেষ্টা করেছি তবে একটি একক ক্ষেত্র মুদ্রণ করতে সক্ষম হই না। আমি কিন্ট () ব্যবহার করে ক্ষেত্রগুলি ডিবাগ করি যা এটি শীর্ষে 'কিছুই না' অ্যারে দেখায়।
শাকিল আহমেদ

0

আমার অভিজ্ঞতা থেকে, ভিউ-ভিউ-অপরচলিত - ভিউ .html.twig এড়ানোর সহজ উপায় নেই সত্তা কাঠামোর অংশ নয় ক্ষেত্রগুলি থেকে কোনও মান w

খুব একটা text (plain)ফিল্ড মুদ্রণ করতে । সুতরাং একটি প্রিন্ট করতে painfull flag_field, entity_referenceইত্যাদি।

পুরো ভিউ কোর কোডটি না পেরে এটি অর্জনের জন্য, আমাকে এই হ্যাকটি তৈরি করতে হয়েছিল:

  1. একটি জাল প্লেইন পাঠ্য ক্ষেত্র সত্তা যুক্ত করুন
  2. কাস্টম মডিউলে ভিউ ফিল্ডের মানটি হুক করুন:
  3. টেম্পলেট মধ্যে twig (অবশেষে) পছন্দসই মান

আরও বিশদ এখানে /drupal//a/288316/13760

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