Jump to content
  • 0
TENAZ

Zmiana linku w breadcrumbList.

Question

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

Share this post


Link to post
Share on other sites

16 answers to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

@Spanner wielkie dzięki za odpowiedź!

Share this post


Link to post
Share on other sites
  • 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'

Share this post


Link to post
Share on other sites
  • 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ć?

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 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

Share this post


Link to post
Share on other sites
  • 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"
	    }

 

Share this post


Link to post
Share on other sites
  • 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ł?

Share this post


Link to post
Share on other sites
  • 0

@Spanner tak, jest ustawiony pierwszy, aby był domyślnym.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

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.