মাইগ্রেট মডিউল দিয়ে তৈরি নোডের জন্য পাঠাটো অক্ষম করুন


14

আমি একগুচ্ছ নোড আমদানি করতে মাইগ্রেট ব্যবহার করছি এবং মাইগ্রেশন চলাকালীন আমি পথের নাম নির্ধারণ করতে চাই। আমি ঠিক ঠিক মতো সূক্ষ্ম পথটি আমদানি করতে সক্ষম হয়েছি:

$this->addFieldMapping('path', 'url_alias');

আমি যখন আমদানি করা নোডগুলি দেখি আমি pathক্ষেত্রে সঠিক পথটি দেখতে পাচ্ছি , তবে Generate automatic URL aliasচেকবক্সটি এখনও চেক করা আছে যার অর্থ সেটিংস উপেক্ষা করা হচ্ছে।

মাইগ্রেশনের সময় নোডে আমি কীভাবে সেটিংটি অক্ষম করব?

উত্তর:


10

আপনার সংরক্ষণ করতে হবে যখন $nodeঅবজেক্টটি pathautoমিথ্যাতে সেট করা হয়েছে তা নিশ্চিত করতে হবে ।

আপনার স্থানান্তর শ্রেণিতে:

function prepare(&$row) {
  $row->path['pathauto'] = 0;
}

আমি চেষ্টা করেছিলাম, কিন্তু Generate automatic URL aliasএখনও চেক করা আছে।
কেনি ওয়াইল্যান্ড

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

সম্পাদিত - প্রথমবারের মতো ভুল পদ্ধতিটি পেয়ে গেল :)
jedstrom

8
$this->addFieldMapping('pathauto')->defaultValue(0);

আমার জন্য কাজ কর. পাঠাটো: আলিয়াসিং করা (অভিবাসন চলাকালীন ওরফে প্রজন্ম রোধ করতে 0 তে সেট করুন) সম্পূর্ণ বর্ননার জন্য আপনার শ্রেণীর নাম 'ড্রশ মা' দেখুন


0

যদি আপনার মাঝে মাঝে থাকে তবে সর্বদা আগত পথের উপনাম না থাকে তবে আপনি যখন কোনও নাম রাখবেন না তখনই আপনি কীভাবে পাঠাটোকে ট্রিগার করতে পারবেন তা এখানে।

প্রথমে কনস্ট্রাক্টারে ম্যাপ করুন pathএবং pathauto:

$this->addFieldMapping('path', 'path');
$this->addFieldMapping('pathauto', 'pathauto');

তারপরে, ইনকামিং মান রয়েছে কিনা তার উপর নির্ভর করে সম্পত্তি ::prepareRow()সেট করুন :pathautopath

public function prepareRow($row) {
  parent::prepareRow($row);

  if (!empty($row->path)) {
    $row->pathauto = 0;
  }
  else {
    $row->pathauto = 1;
  }

}

ফলাফলটি হ'ল আপনি যদি স্পষ্টরূপে এমন কোনও পথ দিয়ে গেছেন যা ওরফে ব্যবহার করা হবে তবে আপনি যদি পাঠাটো না পেয়ে প্রবেশ করবেন kick

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