/** * Execute the console command. * * @return mixed */ public function fire() { $articles = Article::all(); $xs = new \XS('inspirer'); $xsindex = $xs->index; $xsindex->clean(); foreach ($articles as $article) { $doc = new \XSDocument(); $this->output->writeln(sprintf("<comment>[Add]</comment> article [id:<info>%d</info>] - %s", $article->id, $article->title)); $doc->setFields(['id' => $article->id, 'title' => $article->title, 'name' => $article->name, 'description' => $article->description, 'keyword' => $article->keywords, 'content' => $article->content]); $xsindex->add($doc); } }
public function store() { $articles = Article::all(); if (!is_dir('html')) { mkdir('html'); } $navs = Nav::orderBy('sort', 'desc')->get(); $function = function ($closure, $navs, $pid = 0) { $return = null; foreach ($navs as $nav) { if ($nav->parent_id == $pid) { if (null != ($children = call_user_func($closure, $closure, $navs, $nav->id))) { $return[] = [$nav, $children]; } else { $return[] = $nav; } } } return $return; }; $d = Option::all(); $options = []; foreach ($d as $option) { $options[$option->key] = $option->value; } view()->share('navs', $function($function, $navs)); view()->share('categories', Category::all()); view()->share('tags', Tag::all()); view()->share('options', $options); view()->share('staticMode', true); view()->share('staticCreateTime', date('Y/m/d H:i:s', time())); foreach ($articles as $article) { if (empty($article->name)) { continue; } if ($article->category_id == 0) { $data = view('page.page')->withArticle($article)->render(); } else { $data = view('page.article')->withArticle($article)->render(); } file_put_contents('html/' . $article->name . '.html', $data); } return redirect('admin/article'); }