/** * AdContents constructor. * @param Application $app * @param Product $product */ public function __construct(Application $app, Product $product) { $shop_name = $app['eccube.repository.base_info']->get()->getShopName(); $homepage_url = $app->url('homepage'); $product_url = $app->url('product_detail', array('id' => $product->getId())); $this->headline = CsvContentsUtil::clipText($product->getName(), 15); $this->description1 = CsvContentsUtil::clipText($product->getDescriptionDetail(), 19); $this->description2 = CsvContentsUtil::clipText($shop_name, 19); $this->display_url = CsvContentsUtil::removeHttpText(CsvContentsUtil::clipText($homepage_url, 29)); $this->link_url = CsvContentsUtil::clipText($product_url, 1024); $now = new \DateTime(); $ad_name = $now->format('Ymd') . '_' . str_pad($product->getId(), 4, 0, STR_PAD_LEFT); $this->ad_inner_name = CsvContentsUtil::clipText($ad_name, 50); }
/** * @param Product $product * @param AdContents $ad_contents */ private function createAdGroupWithSearchWord(Product $product, AdContents $ad_contents) { $group_name = CsvContentsUtil::clipText($product->getName() . '×' . '検索ワード', 50); $group = new AdGroup($group_name, $ad_contents); $search_word = $product->getSearchWord(); $keywords = preg_split('/[\\s 、,]+/u', $search_word, -1, PREG_SPLIT_NO_EMPTY); foreach ($keywords as $word) { $group->addKeyword($product->getName() . ' ' . $word); } if (!empty($group->getKeywords())) { array_push($this->ad_groups, $group); } }
/** * @param string */ public function addKeyword($keyword) { $keyword = CsvContentsUtil::clipText($keyword, 80); array_push($this->keywords, $keyword); }