diff --git a/apps/Ajax/ajax-actions.php b/apps/Ajax/ajax-actions.php
index 753fc06..9585685 100644
--- a/apps/Ajax/ajax-actions.php
+++ b/apps/Ajax/ajax-actions.php
@@ -31,10 +31,17 @@ function ajax_search()
}
$result = array();
- $recipes = RecipeModel::filter(
+ $recipes = array();
+ $recipe_models = RecipeModel::filter(
count: 5,
search: $search_query
);
+ foreach ($recipe_models as $recipe_model) {
+ $recipe = $recipe_model->getAssocArr();
+ $recipe['image_url'] = $recipe_model->get_image_url();
+ $recipe['url'] = $recipe_model->get_absolute_url();
+ $recipes[] = $recipe;
+ }
$result['count'] = count($recipes);
$result['result'] = $recipes;
@@ -132,7 +139,9 @@ function ajax_search_ingredient()
search: $search_query
);
$result['count'] = count($ingredients);
- $result['result'] = $ingredients;
+ $result['result'] = array_map(function($ing) {
+ return $ing->getAssocArr();
+ }, $ingredients);
return $result;
}
diff --git a/apps/Recipes/Models/RecipeModel.php b/apps/Recipes/Models/RecipeModel.php
index 694d4cb..1358a09 100644
--- a/apps/Recipes/Models/RecipeModel.php
+++ b/apps/Recipes/Models/RecipeModel.php
@@ -86,6 +86,10 @@ class RecipeModel extends BaseModel
);');
return $result;
}
+ public function get_absolute_url()
+ {
+ return get_permalink('recipes:single', [ $this->get_id() ]);
+ }
public function get_price()
{
return $this->field_estimated_price . '$';
diff --git a/apps/Recipes/Templates/components/catalog-item.php b/apps/Recipes/Templates/components/catalog-item.php
index 8428aaf..659be4b 100644
--- a/apps/Recipes/Templates/components/catalog-item.php
+++ b/apps/Recipes/Templates/components/catalog-item.php
@@ -1,4 +1,4 @@
-
+
diff --git a/includes/Model/BaseModel.php b/includes/Model/BaseModel.php
index d23878c..238842f 100644
--- a/includes/Model/BaseModel.php
+++ b/includes/Model/BaseModel.php
@@ -364,6 +364,9 @@ abstract class BaseModel
else
return $filter_result[0]->func_total_count;
}
+ public function getAssocArr() {
+ return get_object_vars($this);
+ }
public function delete()
{
@@ -436,7 +439,7 @@ abstract class BaseModel
/**
* Return model from Mysql result
* @param array $pdo_result pdo resut FETCH_MODE = FETCH_ASSOC
- * @return array
+ * @return array(self)
*/
protected static function createObjectsFromQuery(array $pdo_result)
{