ভাষা অনুসারে আমি কীভাবে শৈলীর শর্তাদি ফিল্টার করতে পারি?


9

ভাষা দ্বারা বিভাগের শর্তগুলি ফিল্টার করার জন্য আমি একটি উপায় অনুসন্ধান করেছি (নোডগুলির জন্য যেমন হয়েছে) তবে এটি করার কোনও উপায় আমি পাইনি।

দৃষ্টিভঙ্গি মডিউল কি সেই ট্যাক্সোনমিগুলিতে ফিল্টারকে সমর্থন করে, বা কেবল নোডগুলিতে?
ভাষা অনুসারে আমি কীভাবে শৈলীর পদগুলিকে ফিল্টার করতে পারি?


শব্দভাণ্ডারগুলিতে ২ টি গোষ্ঠী ব্যবহার করুন ২. ব্যবহারকারীদের গোষ্ঠী ঘোষণার জন্য হুক_ফর্ম_ল্টার ব্যবহার করুন
ডাবেরম্যান Ap

টেকনোমির পিকআপ গ্রুপের সাথে ব্যবহারকারীর কী করণীয় তা আমি বুঝতে পারি না। সাইটটি বহু ভাষায় রয়েছে উদাহরণস্বরূপ এ ল্যাং, বি ল্যাং, সি ল্যাং এবং যখন ব্যবহারকারী বি ল্যাং এ যান আমি কেবল এই ভাষার উপর ভিত্তি করে কর বিভাগগুলি এবং অন্যান্য ভাষায় প্রদর্শিত চাই। এমন নয় যে আমি প্রতিটি সক্ষম ভাষার জন্য বিভাগের শর্তাদি অনুবাদ করি।
মোহাম্মদ সালাম

# আমি কি ভিউতে ক্যোরি স্ট্রিং এডিট করতে পারি !? বা এটি কেবল আমাকে জানানোর জন্য। যদি এটির সম্পাদনার জায়গা কোথায়?
মোহাম্মদ সালাম

উত্তর:


11

মডিউল আন্তর্জাতিকীকরণের দৃশ্যগুলি সক্ষম করে, ভাষা দ্বারা ট্যাক্সনোমি শব্দটি ফিল্টার করার বিকল্প উপলব্ধ। মনে রাখবেন যে সংস্করণটি বর্তমানে ডেভ এ রয়েছে তবে এটি একটি কবজির মতো কাজ করে।

স্ক্রিনশটটি আই 18 এনভিউ ইনস্টল করার প্রভাব দেখাচ্ছে


2
মনে রাখবেন যে আপনি যদি মডিউলটি সক্ষম করে থাকেন তবেই এই ফিল্টারটি উপলব্ধ হবে i18n_taxonomy। এটি হ'ল, যদি আপনি শুল্কের শর্তগুলির জন্য নোড অনুবাদ ব্যবহার করেন।
ট্যানিয়াস

3

ট্যাক্সোনমি শর্তাদির জন্য একটি ভাষা ফিল্টার পেতে আপনি বিভাগীয় অনুবাদ মডিউল (যা আন্তর্জাতিকীকরণের অংশ ) এর সাথে একত্রে আন্তর্জাতিকীকরণের ভিউ মডিউলটি ব্যবহার করতে পারেন ।

আন্তর্জাতিকীকরণ ব্যবহার করে দর্শনগুলি অনুবাদ করুন। এটি একটি কাজ চলছে এবং সমস্ত দর্শন বৈশিষ্ট্য এখনও অনুবাদ করা যায় না। আন্তর্জাতিকীকরণের 6.x-1.5 বা নতুনতর প্রয়োজন


2

এখানে আরও একটি সমাধান:

function mymodule_views_query_alter(&$view, &$query) {
  if ($view->name == 'yourviewmachinename') {
    $query->where[] = array(
      'conditions' => array(array(
        'field' => 'taxonomy_term_data.language',
        'value' => array('***CURRENT_LANGUAGE***'),
        'operator' => 'in',
      )),
      'args' => array(),
      'type' => 'AND',
    );
  }
}

উত্স এখানে


1

দ্রুপাল কেবল নোডের সাথে কোনও ভাষাকে যুক্ত করার কারণে ভিউজ মডিউলটি এর সাথে সম্পর্কিত ভাষার দ্বারা বিভাগের শর্তগুলি ফিল্টার করতে দেয় না।

যদিও আপনি পূর্বনির্ধারিত ভাষার সাথে কেবল নোডগুলি দেখানোর জন্য দৃশ্যটি সেট করতে পারেন।

  • "ফিল্টার মানদণ্ডের অধীনে" "যুক্ত করুন" নির্বাচন করুন
  • পরবর্তী ফর্মটিতে, "বিষয়বস্তু অনুবাদ: ভাষা" নির্বাচন করুন
  • পরবর্তী ফর্মটি আপনাকে "সমস্ত নির্বাচন করুন", "" বর্তমান ব্যবহারকারীর ভাষা, "" ডিফল্ট সাইটের ভাষা, "" কোনও ভাষা নয়, "এবং সাইটের মধ্যে যে কোনও একটি ভাষা সক্ষম করা হয়েছে তার মধ্যে কোনটির মধ্যে ভিউ সামগ্রীর ফিল্টার করতে কোন ভাষাটি ব্যবহার করতে হবে তা চয়ন করতে আপনাকে অনুমতি দেবে।

আমি এই ফিল্টারটি ট্যাক্সোনমি টার্ম ভিউতে যুক্ত করেছি যা ভিউজ মডিউলের সাথে আসে, সামগ্রীটি ফিল্টার করার জন্য ইংরেজী ভাষা নির্বাচন করে, এবং আমি দুটি নোড তৈরি করেছি: একটি ইংরেজি এবং একটি লাতিন ভাষায়। আমি উভয় নোডকে একই শ্রেণীবদ্ধের শব্দটি অর্পণ করেছি, এটি আইডি সমেত 22 এর সমান।
আমি যখন http://example.com/taxonomy/term/22 পরিদর্শন করেছি তখন দৃশ্যটি কার্যকরভাবে কেবলমাত্র ইংরেজী ভাষায় প্রদর্শিত হয়েছে।


এর ড্রুপাল 5 এর সত্যই অদ্ভুত আমি ভাষা দ্বারা সহজেই ট্যাক্সোনমিগুলি ফিল্টার করতে পারি। তবে উত্তর ভাগ করার জন্য যে কোনও উপায়ে ধন্যবাদ।
মোহাম্মদ সালাম

0

সত্তা অনুবাদ জন্য ভাষা ফিল্টারিং। ভিউয়ের "ফিল্টার মানদণ্ড" বিভাগে একটি ভাষা ফিল্টার কেবলমাত্র যদি আপনি নোড অনুবাদ সিস্টেম ব্যবহার করেন তবে প্রয়োজনীয়। এর পরিবর্তে আপনি দ্রুপাল for এর জন্য উপলব্ধ আরও আধুনিক সত্তা অনুবাদ সিস্টেম ব্যবহার করেন , কেবলমাত্র ভিউয়ের "অন্যান্য" বিভাগে "ক্ষেত্রের ভাষা" সেটিংটি মানিয়ে নিন apt

কর শর্তাবলী এটি কীভাবে করবেন। আমি শ্রমশক্তি শর্তাবলী জন্য এটি চেষ্টা করেছিলাম এবং এটি কার্যকর। কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি প্রতিটি অনুবাদযোগ্য ক্ষেত্রের জন্য দুটি ক্ষেত্রের উদাহরণগুলির মধ্যে একটি সঠিকভাবে যুক্ত করেছেন, যথা: "উপস্থিত রয়েছে: সংজ্ঞা-শব্দ: আপনার-ভোকাব-নাম" এর বর্ণনা সহ একটি। বিশদ জন্য, # 1841434 ইস্যু দেখুন ।


0

আপনার YOUR_MODULE. Module এ যুক্ত করুন

function YOUR_MODULE_views_data_alter(&$data) {
  $opts['title'] = 'Language';
  $opts['table'] = 'taxonomy_term_data';
  $opts['help'] = 'Taxonomy term language.';
  $opts['filter']['handler'] = 'YOUR_MODULE_handler_filter_language';
  $data['taxonomy_term_data']['language'] = $opts;
}

আপনার YOUR_MODULE.info এ যুক্ত করুন

files[] = views/handlers/filter/YOUR_MODULE_handler_filter_language.inc

আপনার মডিউল ডিরেক্টরিতে ফাইল "দর্শন / হ্যান্ডলার / ফিল্টার / YOUR_MODULE_handler_filter_language.inc" ফাইল তৈরি করুন এবং পরবর্তী সামগ্রী স্থাপন করুন:

/**
 * @file
 * Views handler to filter language by term.
 */

/**
 * Filter by submission status
 */
class YOUR_MODULE_handler_filter_language extends views_handler_filter_in_operator {
  function get_value_options() {
    $languages = array(
      '***CURRENT_LANGUAGE***' => t("Current user's language"),
      '***DEFAULT_LANGUAGE***' => t("Default site language"),
      LANGUAGE_NONE            => t('Language neutral'),
    );
    $this->value_title = t('Language');
    $options = array_merge($languages, locale_language_list());
    $this->value_options = $options;
  }

  // '0' won't work as a key for checkboxes.
  function value_form(&$form, &$form_state) {
    parent::value_form($form, $form_state);
    $form['value']['#type'] = 'select';
  }
}

সমস্ত ক্যাশে সাফ করুন এবং নতুন মানদণ্ড উপস্থিত হবে।

অথবা আমার মডিউলটি আকুমা ট্যাক্সনমি ব্যবহার করুন


0

যেহেতু আমি আন্তর্জাতিকীকরণের ভিউজ মডিউলের সাথে আরও কিছু সমস্যা নিয়ে আসছি, যেমন মনে হয় যে এটি অলরেডি অনুবাদিত ইউআই ভিউ (পেজারের দিকনির্দেশ, শিরোনাম / পাদচরণ পাঠ্য ইত্যাদি) থেকে পরিবর্তিত হবে, তাই আমি আলাদাভাবে ভাষা ফিল্টার তৈরির জন্য প্রাসঙ্গিক কোডটি লিফটেট করি মডিউল। আপনার মডিউলটির নাম দিয়ে নীচে মাইমডুওল প্রতিস্থাপন করুন। আমার জন্য কবজ হিসাবে কাজ!

/**
 * Code below is lifted from the i18nviews module. Gives the possibility to filter for
 * language on term views
 *
 * Implementation of hook_views_data_alter().
 *
 * Registers views handlers with dependency to i18n_taxonomy.
 */
function MYMODULE_views_data_alter(&$data) {

  // Add i18n language field to taxonomy_term_data. No clash.
  $data['taxonomy_term_data']['language'] = array(
    'group' => t('Taxonomy term'),
    'title' => t('Language'),
    'help' => t('The language the term is in.'),
    'field' => array(
      'handler' => 'MYMODULE_handler_field_taxonomy_term_language',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'MYMODULE_handler_filter_taxonomy_term_language',
    ),
    'argument' => array(
      'handler' => 'MYMODULE_handler_argument_taxonomy_term_language',
    ),
  );
}

/**
 * Field handler to provide simple renderer that shows term language.
 */
class MYMODULE_handler_field_taxonomy_term_language extends views_handler_field_taxonomy {
  function render($values) {
    $languages = locale_language_list();
    $value = isset($languages[$values->{$this->field_alias}]) ? $languages[$values->{$this->field_alias}] : '';
    $value = $this->get_value($values);
    return $this->render_link($this->sanitize_value($value), $values);
  }
}

/**
 * Filter by language
 */
class MYMODULE_handler_filter_taxonomy_term_language extends views_handler_filter_in_operator {
  function get_value_options() {
    if (!isset($this->value_options)) {
      $this->value_title = t('Language');
      $languages = array(
        '***CURRENT_LANGUAGE***' => t("Current user's language"),
        '***DEFAULT_LANGUAGE***' => t("Default site language"),
        LANGUAGE_NONE => t('No language')
      );
      $languages = array_merge($languages, locale_language_list());
      $this->value_options = $languages;
    }
  }
}

/**
 * Argument handler to accept a language.
 */
class MYMODULE_handler_argument_taxonomy_term_language extends views_handler_argument {
  function construct() {
    parent::construct('language');
  }

  /**
   * Override the behavior of summary_name(). Get the user friendly version
   * of the language.
   */
  function summary_name($data) {
    return $this->term_language($data->{$this->name_alias});
  }

  /**
   * Override the behavior of title(). Get the user friendly version of the
   * node type.
   */
  function title() {
    return $this->term_language($this->argument);
  }

  function term_language($langcode) {
    $languages = locale_language_list();
    return isset($languages[$langcode]) ? $languages[$langcode] : t('Unknown language');
  }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.