• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

IonicApps - ACF i JSON.

0 głosów
187 wizyt
pytanie zadane 19 października 2017 w JavaScript przez redtyper Nowicjusz (140 p.)

Witajcie, 

Można powiedzieć, że jestem amatorem  jeżeli chodzi o programowanie.

Aktualnie tworzę aplikację Angular.js + Ionic Framework, za pomocą IonRoots

Tutaj dostępna dokumentacja KLIK

Sprawa ma się tak, że stworzyłem własny post type oraz fields i chciałbym wykorzystać je w aplikacji przesyłając za pomocą JSON. 

Jak to zrobić, by móc je wyświetlić ? 

services/post.js

angular.module('roots.services')

.factory('Post', function($http, $filter) {

	var post_type = 'post';
	var items = [];

	return {
		all: function(data){
			items = data;
		},
		getById: function(id){post_type = 'post'
			var postID = parseInt(id);
			var selected_post = $filter('filter')(items, function (d) {return d.id === postID;});
			return selected_post[0];
		},
		get: function(page, posts_per_page) {
			return $http.jsonp(api+'get_posts/?page='+page+'&post_type=' + post_type +'&posts_per_page='+ posts_per_page +'&callback=JSON_CALLBACK');
		},
		getFromCategory: function(catID, page, posts_per_page){
			return $http.jsonp(api+'get_posts/?cat='+catID+'&page='+page+'&post_type=' + post_type +'&posts_per_page='+ posts_per_page +'&callback=JSON_CALLBACK');
		}
	};

});

 

controllers/home.js

angular.module('roots.controllers')

.controller('HomeCtrl', function($scope, $timeout, $rootScope, $sce, $localstorage, $ionicPopup, Post, Bookmark) {

	$scope.posts = [];
	$scope.isFetching = true;	
	$scope.shouldRefresh = false;

	$scope.settings = {
		current_page: 1,
		total_items: 1,
		total_pages: 0
	};

	$scope.items_per_page = 3;
	$scope.localStoragePrefix = 'home_'; 
	$scope.useLocalStorage = true; // set to false if you don't want local storage

	$scope.loadMore = function(refresh) {

		if($scope.useLocalStorage === true && $localstorage.getObject( $scope.localStoragePrefix + 'settings' ) !== null ){

			$scope.posts = $localstorage.getObject( $scope.localStoragePrefix + 'items' );
			Post.all($scope.posts);
			$scope.settings = $localstorage.getObject( $scope.localStoragePrefix + 'settings' );
			$scope.isFetching = false;

			if($scope.settings.current_page < $scope.settings.total_pages){
				$scope.getPosts();
			}
		} else {
			$scope.getPosts();
		}
			
	};

	$scope.getPosts = function(){
		Post.get($scope.settings.current_page, $scope.items_per_page).success(function(response){

			$scope.posts = $scope.posts.concat(response.posts);
			Post.all($scope.posts);

			$scope.settings.total_items = response.count_total;	
			$scope.settings.total_pages = response.pages;	
			$scope.settings.current_page++;

			$scope.isFetching = false;
			$scope.$broadcast('scroll.infiniteScrollComplete');
			
			if($scope.useLocalStorage === true){
				$localstorage.setObject($scope.localStoragePrefix + 'items', $scope.posts);
				$localstorage.setObject($scope.localStoragePrefix + 'settings', $scope.settings);
			}

			if($scope.shouldRefresh===true){
				$scope.$broadcast('scroll.refreshComplete');
				$scope.shouldRefresh = false;
			}

		});
	};

	$scope.canBeLoaded = function(){
		if($scope.settings.current_page < $scope.settings.total_pages){
			return true;
		} else {
			return false;
		}
	};

	$scope.doRefresh = function(){
		$localstorage.remove($scope.localStoragePrefix + 'items');
		$localstorage.remove($scope.localStoragePrefix + 'settings');
		$scope.posts = [];
		$scope.settings = {
			current_page: 1,
			total_items: 1,
			total_pages: 0
		};
		$scope.shouldRefresh = true;
		$scope.loadMore();		
	};

	// let's start
	$scope.loadMore();

	$scope.bookmarkThis = function(item){

		Bookmark.save(item);

		var alertPopup = $ionicPopup.alert({
			title: 'Saved!',
			template: 'You can reading it later.'
		});


	};

});

Gdybym wiedział wcześniej to zrezygnował bym z angulara, bo dla mnie to jakiś koszmar .. 

Proszę o podpowiedź. 

Pozdrawiam

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 698 wizyt
0 głosów
1 odpowiedź 757 wizyt
pytanie zadane 30 września 2015 w JavaScript przez niezalogowany
0 głosów
1 odpowiedź 342 wizyt

93,631 zapytań

142,555 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...