Skocz do zawartości
  • Zarejestruj się
  • 0
TENAZ

Zmiana linku w breadcrumbList.

Pytanie

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

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

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

@Spanner nie, nie mam stworzonego pliku furl.json, jak to stworzyć? Jest jakiś poradnik?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

@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

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

A co podajesz w aplikacji?

  • Like 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

@Spanner no właśnie nic w aplikacji nie podaje, tylko te furl.json dodałem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

@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

@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

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

@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

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

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

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

  • Kto przegląda   0 użytkowników

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

×

Ważne informacje

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.