Skocz do zawartości
  • 0
TENAZ

Zmiana linku w breadcrumbList.

Pytanie

TENAZ    4

Witam,

Chcę stworzyć zmianę linku w breadcrumbie tylko nie wiem jak, przykładowo w aplikacji tutaj (Hosting zdjęć) jest takie coś:

Strona główna -> Hosting zdjęć (i tutaj jest normalny link https://www.ipsbeyond.pl/image-host/), a w swojej aplikacji mam coś tego typu adres/index.php?app=test&module=test&controller=test jak się najedzie na ostatni elemnt breadcrumb zamiast np. samo adres/test

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Polecane posty

  • 0
Spanner    4247

W katalogu data tworzysz plik furl.json z taką zawartością:

/**
 * Friendly URL Structure
 *
 * For each value in the $furl array:
 *	The key should be the "SEO Template" - an identifier which you'll use when displaying a URL.
 *	The value should be an associative array with two or three elements: 'friendly' and 'real', and optionally 'verify':
 *		'friendly'
 *			The friendly URL to use - encase variables in {curly braces} containing a symbol, followed by the name of the parameter that matches in the "real" URL
 *			The symbol should be # for numbers or @ for strings
 *			For example, if the "real" URL contains id=XXX, where XXX is a number, you should include {#id} somewhere in the friendly URL.
 *			You can also use the tag {?} for the "SEO Title" (that is, any variables that shouldn't be part of the real URL, such as the name of the topipc being viewed).
 *			If you want to support more than one SEO Title, you can give them zero-indexed keys like so: {?0} {?1} {?2}
 *		'real'
 *			This should be the base of the real URL. You should not include parameters which will be parsed out from the friendly URL.
 *      'verify'
 *          This should be the name of a class that contains a loadFromUrl() and an url() method.  The dynamic URL (i.e. app=core&...) will be passed to loadFromUrl(), and the url()
 *          method will subsequently be called to retrieve the correct URL, ideal with ActiveRecord pattern classes.
 *
 * IMPORTANT: Ensure values are listed with the most specific ones first. This is to ensure that non-FURL redirects are done correctly. For example, if you have these FURLs:
 *	/index.php?app=myapp&module=mymodule&controller=mycontroller&do=myaction	->	/myfolder/myaction
 *	/index.php?app=myapp&module=mymodule&controller=mycontroller				->	/myfolder
 * They must be provided in that order, otherwise the former will redirec to /myfolder/?do=myaction rather than /myfolder/myaction
 */
{
	"topLevel": "GLOWNY_ADRES",
	"pages": {
	    "NAZWA_TEMPLATE": {
	        "friendly": "",
	        "real": "app=APLIKACJA&module=MODUL&controller=KONTROLER"
	    }
	  }
}

i później używasz tego tak:

\IPS\Http\Url::internal( 'app=APLIKACJA&module=MODUL&controller=KONTROLER', 'front', 'NAZWA_TEMPLATE' )

I to powyższe wygeneruje Ci link w postaci adres_forum/GLOWNY_ADERS. Jeśli w friendly dasz np. COS, to wtedy będziesz miał GLOWNY_ADRES/COS.

  • Thanks 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Spanner    4247

A masz stworzony plik furl.json? i w breadcrumbsach używasz adresów furl?

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
TENAZ    4

@Spanner a jak zrobić dwa furl?

{
	"topLevel": "GLOWNY_ADRES",
	"pages": {
	    "NAZWA_TEMPLATE": {
	        "friendly": "",
	        "real": "app=APLIKACJA&module=MODUL&controller=KONTROLER"
	    }
	  }
}

Bo w tym kodzie mam jedno, a chciałbym dwa, bo mam dwie 'strony'

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
TENAZ    4

Dobra, poradziłem sobie z tym na górze, lecz dalej pozostaje problem odnośnie tego breadcrumba. Dalej zamiast przenosić na /host jest app=host&..

Jak to rozwiązać?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Spanner    4247

A co podajesz w aplikacji?

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Spanner    4247

@TENAZ ok. Musisz mieć głównego furla zdefiniowanego, czyli:

 "APLIKACJA": {
	        "friendly": "",
	        "real": "app=APLIKACJA&module=GŁÓWNY_MODUŁ&controller=GŁÓWNY_KONTROLER"
	    }

 

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
TENAZ    4

@Spanner tak mam,

"test": {
	        "friendly": "",
	        "real": "app=test&module=test2&controller=test"
	    }

Takie coś mam, lecz nie działa. Może przez to, że mam dwa takie tzn.:

"test": {
	        "friendly": "",
	        "real": "app=test&module=test2&controller=test"
	    },
"test": {
	        "friendly": "test/testt",
	        "real": "app=test&module=test3&controller=test"
	    }

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Spanner    4247

nie może być 2 o tym samym kluczu. jak już to jedno niech będzie test a drugie test_test

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
TENAZ    4

@Spanner zgadza się, źle napisałem.

Takie coś mam:

"test": {
	        "friendly": "",
	        "real": "app=test&module=test2&controller=test"
	    },
"test_test": {
	        "friendly": "test/testt",
	        "real": "app=test&module=test3&controller=test"
	    }

app=test jest do dwóch 'stron', więc nie wiem jak dać dwa różne do tego samego. Można jakoś tam dać moduł?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Spanner    4247

A w centrum developera ustawiłeś żeby moduł test2 i kontroler test w nim były domyślnymi dla aplikacji?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0
Spanner    4247

to coś masz źle ustawione, albo źle podajesz inaczej nie ma prawa być że źle działa

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony


  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies.