Questions tagged [plugin-elementapi]
Plugin that makes it easy to create a JSON API for your elements, from Pixel & Tonic.
225
questions
0
votes
0
answers
46
views
Element-api search with space in query returns zero data
I have an endpoint for searching entries via the element api.
'api/searchtherest.json' => function () {
$section_handle = 'openFunding';
$criteria = [
'...
1
vote
1
answer
29
views
Jsondecode in element API causing memory issue
I have the element api pulling back 1300 entries. One of the fields is storing geojson data and I had to change the type from text to mediumtext to accommodate some of the data stored.
When I moved ...
1
vote
0
answers
56
views
Element API relatedTo not working
I'm creating a lazy load/infinite scroll based on the tutorial but I want it to grab entries that are in categories. It doesn't seem to be doing anything with it at all though. It's returning the list ...
0
votes
0
answers
23
views
Variable scope in Element API
I am using the Craft Element API and getting a bit muddled over PHP variable scopes.
I was hoping if someone could please explain why this does not work:
$isProd = App::env('ENVIRONMENT') === '...
1
vote
0
answers
67
views
Join multiple tables in element-api
My problem is the following:
I have a website with products which contains ratings.
I have an element-api endpoint to get the products. I want to sort the products based on the average rating or the ...
1
vote
1
answer
285
views
Element API: Get Entries Related to Category with Query Parameter
I'm using the Element API Plugin to create an API, with which I want to get entries related to one category, but dynamically with the category set in the Url.
What I have so far in the config/element-...
2
votes
1
answer
73
views
Element API using the entries field to display related content from a separate section
I've seen similar questions but none seem to help.
I have two sections named jobs and jobDescriptions. I'm using the entries field to pull in a description field from the jobDescriptions section to ...
1
vote
2
answers
80
views
Accessing SEOmatic meta via controller action in Element API triggers HTTPForbiddenException
I'm attempting to fetch SEO meta for entries inside of an element API, roughly following the advice in Element API integration
Below is the exact code in my element-api.php:
<?php
use craft\...
1
vote
2
answers
186
views
How to search on multiple (custom) fields using Element API
I am using the Element API to search for entries that match a search query: either the title OR the excerpt should contain the query term. The entry is very simple and has these fields:
-title
-...
1
vote
1
answer
238
views
Element API, query entries where relationship field ':empty:' AND the same relationship field with specified entry ID
Element API, query entries where relationship field ':empty:' AND the same relationship field with specified entry ID.
Can't seem to figure out how to do this without performing two separate queries ...
1
vote
1
answer
31
views
Setting relative path to ElementAPI in PHP
I need a few small bits of data from Craft in a PHP file. It’s a really small task, so I don’t want to delve into writing plugins or anything hardcore.
It seemed to me the simplest way to approach it ...
2
votes
1
answer
134
views
Get currentSite.handle in Element API
I need to get the currentSite in Element API. How can this be achieved? Is it as a slug in the endpoint URL? or as a Query param? Here is the current code:
<?php
use craft\elements\Entry;
use ...
0
votes
0
answers
150
views
How to load more entries of a category on that category's page with Element API?
Following up on previous questions of mine: How to use multiple different instances Element API "Load More" button?
I have a website that utilizes the "load More" (button) method ...
1
vote
1
answer
83
views
How to use multiple different instances Element API "Load More" button?
Following up on a previous question of mine:
How to skip the first few entries in a "load more" scenario with Element API?
I have a website that utilizes the "load More" (button) ...
1
vote
1
answer
79
views
How to skip the first few entries in a "load more" scenario with Element API?
I have a website that uses a "load more" button. The process for this button can be found here:
http://craftsnippets.com/articles/infinite-scrolling-and-lazy-loading-with-craft-cms
I made it ...
0
votes
1
answer
42
views
How get entries between mutiple dates, ordered by date?
I'll import (event) entries with feedme in craftcms 2 from an API who I'll can't change. The api gives the startdate off the events in a dateTime object. The allDay events have a date without time. ...
1
vote
1
answer
134
views
Retrieve Matrix Field from Related Category in Element API
I have an API endpoint set up for a category group. This currently provides some details of all entries that have been assigned that category (i.e. related entries). That works well for some high ...
1
vote
1
answer
58
views
Element-api - filter Draft entries by the draft author (not original author)
I have a remote app that enables preview based on your editor craft account. I want to retrieve draft entries that they are working on, but i cant find a way to do this. 'authorId' seems to always be ...
0
votes
0
answers
184
views
Search for category and title in Element API for Jquery Autocomplete
I'm working on the search Autocomplete based on this article,
http://craftsnippets.com/articles/search-autocomplete-component-for-craft-cms
Besides the title, I want to search within the category too....
1
vote
1
answer
179
views
Headless mode/ElementAPI: how to set the frontend's baseUrl in the backend endpoint?
I am having an ongoing confusion in headless mode.
Imagine a site with 2 servers:
Backend (Craft with element API) on https://backend.site
Frontend (vue.js) on https://frontend.site
Editors pick ...
1
vote
1
answer
365
views
Use GET parameters to query for array of entry IDs
On my client side, I have an array of entry IDs that match with entries in Craft
const myIds = ['230', '249', '256']
I am trying to send that array over to an Element API endpoint and use it in the ...
1
vote
1
answer
117
views
How can I get field's value of entry in other site locale in my element-api endpoint?
I'd like to get a field value in 3 differents locales in the same element-api endpoint but I can't make a request similar to this one : craft.entries.siteId($siteId).id($entryId).one() in twig.
<?...
0
votes
0
answers
278
views
Deprecation Warning: Use the all() function to fetch the query... in PHP
I am getting this warning message:
"Looping through element queries directly has been deprecated. Use the all() function to fetch the query results before looping over them. "
It is pointing out ...
1
vote
0
answers
97
views
Migrating to Matrix using Feed Me and Element API
How can I use Element API to move my entry fields into a matrix-based content builder? I'm going off the docs found at https://docs.craftcms.com/feed-me/v4/guides/importing-into-matrix.html#setup-your-...
1
vote
1
answer
73
views
Elements API - How to order / limit the output with an asset field of an entry
I recently started using the Elements API and I made up a recipe site as an example project. It's pretty easy to output the recipes as json data.
But I now want some more control about the output of ...
1
vote
1
answer
241
views
Dynamic Element API
How can we write Element API configuration files to dynamically output JSON payloads in Craft 3.3?
The goal is to create a generic function which only needs endpoint definitions to recursively loop ...
1
vote
0
answers
184
views
How to get an Entry in structure and all of its children and it's children's children with Element APi?
How do I get all of an entry's children using the Element API?
I want to return something like:
data: [
title: 'Root Entry'
uri: 'root-entry'
children: [
{
title: '...
0
votes
0
answers
60
views
ElementAPI: How to trigger the Custom service php file when a endpoint is loaded
I am Using Craft 3.3.11 version
I have a php file in
plugin/elementapi/src/services/EapiServices.php
and the same file within
vendor/craftcms/element-api/src/services/EapiServices.php
When ...
3
votes
1
answer
249
views
Using multiple elementTypes in Element API
I am currently trying to create an autocomplete search with the element-api. I need results from two different elementTypes:
Product::class
Entry::class
How do I get results out of both elementTypes ...
2
votes
1
answer
142
views
Pass params to transform function of Transformer class in split Transformer class
I have transformer like down below in the element API.
'transformer' => 'MyTransformerClassName',
Or
'transformer' => new MyTransformerClassName(),
I am going to pass a param like $user ...
1
vote
1
answer
266
views
How to pull an entry's SEOmatic meta tags with Element API?
How do I get the meta tags used in SEOmatic for a specific entry and returning it through the Element API?
Not sure how the PHP code looks like when using SEOmatic's PHP API.
1
vote
1
answer
60
views
Having issues looping through variants for Commerce 2 Products using Element API
I'm currently able to return the first variant using the following:
<?php
use craft\commerce\elements\Product;
use craft\helpers\UrlHelper;
return [
'endpoints' => [
'products.json' =>...
2
votes
1
answer
157
views
How to return a hierarchical list of a site's page structure using the ElementAPI
I'm experimenting with using Craft in a headless way and am successfully using the Element API to return all the data required to show individual pages.
However, to be able to show sub navigation and ...
1
vote
2
answers
234
views
Element API - Order results by Category
Is there a way to order the Craft Element-API results by the category title?
I'm just getting the error
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
The "...
1
vote
1
answer
268
views
Element API - Markdown in JSON
I'm a little bit stuck using the Element API. I managed to get my JSON file going pretty easily which was great but I've reached a point where I want to include some formatted copy as it would be ...
1
vote
1
answer
105
views
Element API: How to get entries up to a certain page?
I have a query that is pulling entries from a structure with
elementsPerPage' => 3
If my pagination looks like this:
Page 1:
Entries: A, B, C
Page 2:
Entries: D, E, F
Page 3:
Entries: G, H, I
...
1
vote
1
answer
37
views
Array from matrix fields without quotations
I am trying to create an array bodyBlocks by looping through all of my matrix fields called blockTextContent:
$bodyBlocks = [];
foreach ($entry->getFieldValue('pageBuilder')->all() as $block){
...
2
votes
1
answer
218
views
Logging in to Craft via Vue/Javascript apps
I'm just diving into the world of javascript frameworks (late to the party I know) and can't figure out the missing piece of the authentication puzzle.
What is the preferred way to authenticate users ...
0
votes
1
answer
261
views
How do I fetch all categories under a category group using the Element API?
I am not too familiar with PHP and am just learning the Element API.
How do I turn this craft query into an element api query?
craft.categories.group("brands").level(1).all(),
In categories this is ...
1
vote
1
answer
3k
views
Return JSON array without extra square brackets
I'm having difficulties to remove an additional set of square brackets or avoid including them within array.
My JavaScript code currently accesses array's object at 0 index and therefore I'd have to ...
1
vote
1
answer
89
views
relatedTo - return only entries that have a related entry where a field in the related entry has a value
Trying to figure out if this is possible in 1 step. I want to return locations that have a related entry in the relatedMerchant field, but I'd also want to make sure that a field in the ...
1
vote
1
answer
557
views
Element API — Endpoint has an invalid elementType
I'm trying the Element API for the first time and getting this error message {"error":{"code":404,"message":"Endpoint has an invalid elementType"}}
I cannot for the life of me figure out what I'm ...
1
vote
1
answer
385
views
How can I query entries based on a Matrix Block Type?
I'm using Element API and trying to create a query that returns a list of entries based on if the entry is using a specific Matrix Block Type.
I've tried a few different things including a query that ...
1
vote
0
answers
27
views
Locales with independent language and country
How might we use Craft to manage our locales, keeping our language and country logic independent? The desired scenario:
No duplicate language entries: Spanish in Spain would be the same as Spanish in ...
1
vote
0
answers
39
views
Query element api (output) via plugin
Is there a way to fetch the content generated by the Element API via a plugin.
For example, if we have created an ingredients/<slug:{slug}>.json endpoint, can the data for a specific page (eg ...
0
votes
1
answer
61
views
Element API unable to get all() of matrix field
I'm getting matrix block content from an entry type which works fine for the most part. It's probably clearer to just paste in the code:
Current element api code:
$relationsData = [];
if($entry-&...
1
vote
1
answer
145
views
Get a specific product with Element API, Commerce and Craft 2
How do I get a specific product via Element API?
Here's what i have so far
'api/product' => function() {
$productId = craft()->request->getRequiredQuery( 'productId' );
return [
...
2
votes
1
answer
63
views
Get last change timestamp in header response
I'll be polling an endpoint created with the element-api plugin which will trigger a concourse build. I need to include a timestamp the last time any entry was changed.
So I need something to go in ...
1
vote
0
answers
190
views
element-api: include a collection with mixed entry types, and nested includes
Does anyone know how to include a collection of entries, containing multiple entry-type, in such way that:
1. Each entry type gets transformed by its own custom transformer class (tailord to the ...
1
vote
0
answers
53
views
Retrieving Entries by Category & Exclude by Tag
I have an endpoint that I want to retrieve entries by a category, but then exclude entry ids if they have a certain tag. It seems to me that the relatedTo param overrides the id param that says not in ...