|
|
@@ -288,13 +288,12 @@
|
|
|
<h5 class="mediumkur">Mehr über das Projekt</h5>
|
|
|
<p>Posts tagged {{ object.name|slugify }}</p>
|
|
|
<br />
|
|
|
- <ul class="" id="blog-post-demo" >
|
|
|
-
|
|
|
+ <ul class="" id="blog-posts-container" >
|
|
|
<blog-post
|
|
|
- v-for="post in posts"
|
|
|
- v-bind:key="post.id"
|
|
|
- v-bind:title="post.title"
|
|
|
- v-bind:link="post.link"
|
|
|
+ v-for="post in posts"
|
|
|
+ v-bind:key="post.id"
|
|
|
+ v-bind:title="post.title"
|
|
|
+ v-bind:link="post.link"
|
|
|
></blog-post>
|
|
|
</ul>
|
|
|
|
|
|
@@ -392,78 +391,80 @@
|
|
|
{% compress js %}
|
|
|
|
|
|
<script>
|
|
|
+ $(document).ready(function($) {
|
|
|
|
|
|
+ axios.get('https://blog.gemeinschaffen.com/wp-json/wp/v2/tags').then(resp => {
|
|
|
|
|
|
-$(document).ready(function($) {
|
|
|
-
|
|
|
- axios.get('https://blog.gemeinschaffen.com/wp-json/wp/v2/tags').then(resp => {
|
|
|
-
|
|
|
- queryData(resp);
|
|
|
+ queryData(resp);
|
|
|
|
|
|
- });
|
|
|
-
|
|
|
- function queryData(resp) {
|
|
|
-
|
|
|
- var q = jsonQuery('[*slug=gemeinschaffen]', {
|
|
|
- // var q = jsonQuery('[*slug={{ object.name|slugify }}]', {
|
|
|
- data: resp.data
|
|
|
});
|
|
|
|
|
|
+ function queryData(resp) {
|
|
|
|
|
|
- if (!q.value.length ){
|
|
|
-
|
|
|
- return;
|
|
|
+ var requests = []
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
- tagsurl = "https://blog.gemeinschaffen.com/wp-json/wp/v2/posts?tags=" + q.value[0].id;
|
|
|
-
|
|
|
- axios.get(tagsurl).then(resp => {
|
|
|
+ var projTag = jsonQuery('[*slug={{ object.name|slugify }}]', {
|
|
|
+ data: resp.data
|
|
|
+ });
|
|
|
|
|
|
- if (!resp.data.length ){
|
|
|
+ var postsTag = jsonQuery('[*slug=gemeinschaffen]', {
|
|
|
+ data: resp.data
|
|
|
+ });
|
|
|
|
|
|
+ if (!projTag.value.length && !postsTag.value.length) {
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
+ if (projTag.value.length) {
|
|
|
+ url = "https://blog.gemeinschaffen.com/wp-json/wp/v2/posts?tags=" + projTag.value[0].id;
|
|
|
+ requests.push(axios.get(url));
|
|
|
}
|
|
|
|
|
|
- generateLinks(resp);
|
|
|
+ if (postsTag.value.length) {
|
|
|
+ url = "https://blog.gemeinschaffen.com/wp-json/wp/v2/posts?tags=" + postsTag.value[0].id
|
|
|
+ requests.push(axios.get(url));
|
|
|
+ }
|
|
|
|
|
|
+ axios.all(requests).then(axios.spread(function(...responses) {
|
|
|
+ rpost = []
|
|
|
+ for (index = 0; index < responses.length; index++) {
|
|
|
+ rpost = rpost.concat(responses[index].data);
|
|
|
+ }
|
|
|
|
|
|
- });
|
|
|
+ if (rpost.length) {
|
|
|
+ generateLinks(rpost);
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
+ }));
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- function generateLinks(resp) {
|
|
|
+ function generateLinks(resp) {
|
|
|
|
|
|
- Vue.component('blog-post', {
|
|
|
- props: ['title', 'link'],
|
|
|
- delimiters: ['<%', '%>'],
|
|
|
- template: `
|
|
|
+ Vue.component('blog-post', {
|
|
|
+ props: ['title', 'link'],
|
|
|
+ delimiters: ['<%', '%>'],
|
|
|
+ template: `
|
|
|
<li>
|
|
|
<a title="link-title" :href="link" target="_blank" v-html="title.rendered"></a>
|
|
|
</li>`
|
|
|
- })
|
|
|
-
|
|
|
- new Vue({
|
|
|
-
|
|
|
- el: '#blog-post-demo',
|
|
|
- delimiters: ['<%', '%>'],
|
|
|
- data: {
|
|
|
- posts: resp.data
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
+ })
|
|
|
|
|
|
+ new Vue({
|
|
|
|
|
|
+ el: '#blog-posts-container',
|
|
|
+ delimiters: ['<%', '%>'],
|
|
|
+ data: {
|
|
|
+ posts: resp
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
- }); // document ready
|
|
|
-
|
|
|
-
|
|
|
+ }
|
|
|
|
|
|
+ }); // document ready
|
|
|
</script>
|
|
|
{% endcompress %}
|
|
|
|