# Távoli komponensek

> Komponenskönyvtár megosztása Bricks-webhelyek között: kitétel, hozzáadás, böngészés, importálás, ütközések, jogosultságok és hibaelhárítás.

A távoli komponensekkel egy Bricks-webhely a kiválasztott komponenseit elérhetővé teszi, egy másik Bricks-webhely pedig a Komponenskezelőből importálja őket. Ügyfélwebhelyek, tesztkörnyezetek vagy kapcsolódó projektek közös komponenskönyvtárához használd.

A távoli komponensekhez mindkét webhelyen a Bricks újabb változata kell, hogy a távoli komponensböngészés és a függőségeket is tartalmazó importálás működjön.

A távoli importálás helyi komponenst hoz létre. Nem marad élő kapcsolat a forráswebhellyel, de a Bricks rögzíti, honnan származik a komponens, így egy későbbi importálás észleli és alkalmazza a forrás módosításait.

## Mielőtt hozzákezdesz

Szükséged van:

- egy forráswebhelyre, amely tartalmazza a megosztani kívánt komponenseket,
- egy célwebhelyre, ahová importálni akarod őket,
- a forráswebhelyen nem **Sima** WordPress-permalinkszerkezetre,
- a Bricks-beállítások konfigurálására jogosultságra mindkét webhelyen,
- az importáló felhasználónak szükséges szerkesztői jogosultságokra.

## 1. Komponensek kitétele a forráswebhelyen

A forráswebhelyen:

1. Nyisd meg a **Bricks → Beállítások → Sablonok és komponensek** lapot.
2. A **Saját komponenseim** csoportban kapcsold be a **Hozzáférés a saját komponensekhez** kapcsolót.
3. Ha szükséges, válaszd ki a kizárandó komponenseket.
4. Állítsd be a közös **Távoli hozzáférés** vezérlőket.
5. Mentsd a beállításokat.

![A Sablonok és komponensek lap: Saját komponenseim, Távoli hozzáférés és Távoli könyvtárak](./kepek/sablonok-1-beallitasok-sablonok.webp)

*A Sablonok és komponensek lap: Saját komponenseim, Távoli hozzáférés és Távoli könyvtárak* (https://minta-bolt.hu/wp-admin/admin.php?page=bricks-settings)

A képen a **Saját komponenseim** csoport két kapcsolóval (**Komponens-képernyőképek**, **Hozzáférés a saját komponensekhez**), alatta a közös **Távoli hozzáférés** és a **Távoli könyvtárak** űrlap látszik.

### Komponensek kizárása

A kizárt komponensek nem jelennek meg a távoli katalógusban.

A Bricks azt a komponenst sem engedi importálni, amely egy kizárt komponenstől függ. Ha például egy Kártya komponens egy kizárt Gomb komponenst tartalmaz, a Kártya megjelenhet a katalógusban, de a célwebhely nem tudja importálni, amíg a Gombot nem engeded, vagy el nem távolítod a Kártyából.

### Távoli hozzáférés korlátozása

A **Távoli hozzáférés** beállításai a távoli sablonokra és a távoli komponensekre egyaránt vonatkoznak:

- **Engedélyezett URL-ek:** csak a felsorolt célwebhelyek csatlakozhatnak. Soronként egy URL-t adj meg. Üresen hagyva bármelyik webhely kérhet, amely megfelel a többi hozzáférési követelménynek.
- **Jelszóvédelem:** a célwebhelyeknek ugyanazt a jelszót kell küldeniük. Használhatod a jelszógenerátort, vagy megadhatod a saját jelszavadat.

Ha a **Hozzáférés a saját komponensekhez** engedélyezve van, de nincs engedélyezett URL vagy jelszó, minden olyan Bricks-webhely böngészheti a kitett komponenskatalógust, amely ismeri a forrás URL-jét.

## 2. A forrás felvétele a célwebhelyen

A célwebhelyen:

1. Nyisd meg a **Bricks → Beállítások → Sablonok és komponensek** lapot.
2. A **Távoli könyvtárak** csoportban kattints a **Hozzáadás** gombra.
3. Add meg a forráswebhely teljes URL-jét.
4. Adj meg egy **Nevet**, ha a forrás a szerkesztőben név szerint jelenjen meg (nem kötelező).
5. Ha a forrás jelszóvédett, írd be a **Jelszó** mezőbe a távoli hozzáférési jelszót.
6. Mentsd a beállításokat.

Ugyanaz a távoli könyvtár bejegyzés sablonokat, komponenseket vagy mindkettőt biztosíthat, attól függően, mit tesz elérhetővé a forrás.

## 3. A távoli komponenskönyvtár böngészése

Nyisd meg a szerkesztőt, kattints a mappa ikonra (**Böngésző**), és válaszd a **Komponensek** nézetet.

A **Forrás** legördülő listában a **Saját komponensek** helyett válaszd ki a beállított távoli webhelyet. A távoli könyvtárak csak akkor jelennek meg, ha az aktuális felhasználónak van **Hozzáférés távoli komponensekhez** jogosultsága.

Távoli forrásnál:

- kereshetsz a komponens neve alapján,
- szűrhetsz kategória szerint,
- válthatsz a rács- és listanézet között,
- a **Frissítés** gombbal újra lekérheted a katalógust,
- a **Továbbiak betöltése** gombbal újabb oldalakat tölthetsz be, ha a katalógusnak több oldala van,
- láthatod a forrás által adott komponens-bélyegképeket.

Ha a forrás nem érhető el, vagy nem támogatja a távoli komponenseket, a Komponenskezelő a komponenslista helyett a forrás hibaüzenetét mutatja.

## 4. Komponens áttekintése és importálása

Kattints a távoli komponens importálás ikonjára. A Bricks először megvizsgálja a csomagot, és megnyit egy áttekintést a komponensről és a kapcsolódó dizájnrendszer-adatokról.

Importálás előtt mentsd a függőben lévő komponens-, globális osztály-, globális változó- és színmódosításokat. A Bricks letiltja az importálást, ha ezek a helyi módosítások nincsenek mentve, hogy ne írjon felül egy újabb, memóriabeli dizájnrendszert egy régebbi mentett változattal.

Az áttekintés tartalmazhat:

- beágyazott komponenseket,
- globális osztályokat és kategóriáikat,
- globális változókat, kategóriáikat, és a más változók által hivatkozott változókat,
- a hivatkozott színeket tartalmazó színpalettákat.

A megegyező helyi függőségeket a Bricks automatikusan kihagyja. A **Globális osztályok**, **Globális változók** vagy **Színpaletták** lépést kihagyhatod. A kihagyott csoport nem kerül hozzáadásra. Ha a globális osztályokat kihagyod, a Bricks az osztályhozzárendeléseket is eltávolítja az importált komponensből. A **Kihagyás** után nézd át a komponenst.

A konfigurált forráswebhelyen tárolt, hivatkozott képeket a Bricks a célwebhely Médiatárába tölti, ha az importáló felhasználó tölthet fel fájlokat. Más gazdákról származó képeket nem módosít.

### Névütközések

Ha egy nem kapcsolódó helyi komponens már ugyanazt a nevet viseli, a Bricks nevet kér az importált komponensnek, és a távoli forrás nevéből javasol egyet. A helyi komponens változatlan marad.

A névütközéssel rendelkező beágyazott komponenseket a Bricks átnevezi az importálás során, és a hivatkozásokat az importált helyi másolatokra irányítja.

### Korábban importált komponensek

A Bricks a távoli forrás és a távoli komponensazonosító szerint nyomon követi minden importált komponens eredetét.

- Ha a távoli csomag változatlan, a Bricks jelzi, hogy a komponens már importálva van.
- Ha a távoli komponens vagy valamelyik beágyazott komponense megváltozott, az áttekintés a meglévő helyi másolatot cserére jelöli.
- A korábban importált komponens cseréje megtartja a helyi azonosítóját, így a meglévő példányok a frissített definíciót használják.

Azokat a helyi komponenseket, amelyek csupán ugyanazt a nevet viselik, a Bricks nem tekinti korábbi importnak. Az ismételt importálás viselkedését az eredet dönti el, nem a címke.

A sikeres importálás után a Bricks visszatér a **Saját komponensek** nézetre, frissíti az érintett komponenseket és dizájnrendszer-adatokat, és kiemeli az importált komponenst.

Többwebhelyes telepítésnél, ha a főwebhely komponenseit használja a beállítás, az importálás a megosztott komponenstárolót használja, nem hoz létre külön gyermekwebhelyi másolatot.

A Bricks az írás előtt ellenőrzi a csomagot, és megakadályozza az egyidejű távoli importokat. Ha az importálás a módosítások megkezdése után hibával megszakad, a Bricks visszaállítja a mentett komponens- és dizájnrendszer-adatokat.

## Ami nem költözik át automatikusan

A csomag tartalmazza a komponensgráfot és a fent felsorolt, hivatkozott Bricks-dizájnrendszer-adatokat. Néhány webhelyspecifikus funkció a célwebhelyen figyelmet igényel.

A Bricks hordozhatósági figyelmeztetéseket mutat, ha ilyen elemeket észlel:

- lekérdezés- vagy globális lekérdezés-beállítások,
- ikonok,
- futtatható kód,
- dinamikus adat,
- egyéni betűtípusok,
- olyan elemtípusok, amelyeket a célwebhely nem támogat.

A figyelmeztetés nem mindig blokkolja az importálást. Azt jelzi, hogy ellenőrizd az importált komponenst a célwebhely bővítményei, tartalmi modellje, betűtípusai, ikonkészletei, lekérdezései és kódjogosultságai szerint.

A forrás kódaláírásaiban a Bricks nem bízik meg: eltávolítja a forrás aláírásait, és az importált kódot a célwebhely normál aláírási és kódjogosultsági folyamatán futtatja át. Azok a felhasználók, akiknek nincs kódfuttatási jogosultságuk, a kódérzékeny beállításokat kitakarva kapják.

### Hiányzó globális osztályok

Ha egy komponens olyan globális osztály-azonosítóra hivatkozik, amely a forráson már nem létezik, az áttekintés megmutatja a hiányzó azonosítót, és letiltja a normál importálást.

Az újrapróbálás előtt javítsd a forráskomponenst:

1. Szerkeszd a komponenst a forráswebhelyen.
2. Távolítsd el vagy cseréld le a hiányzó osztályhivatkozást.
3. Mentsd a komponenst és a dizájnrendszer-adatokat.
4. Frissítsd a távoli könyvtárat a célwebhelyen.
5. Importáld újra a komponenst.

A **Globális osztályok** lépés kihagyása az ebben a lépésben felsorolt összes osztályt kihagyja, nem csak a hiányzót. A Bricks az osztályhozzárendeléseket eltávolítja az importált komponensből.

## Jogosultságok

A távoli komponensműveletek külön szerkesztői jogosultságokat kombinálnak (lásd [Szerkesztői hozzáférés és jogosultságok](https://hub.hellowp.io/hu/plugins/bricks-child/szerkeszto-hozzaferes/)):

| Feladat | Szükséges jogosultságok |
|---|---|
| A beállított távoli források és katalógusaik böngészése | Hozzáférés távoli komponensekhez |
| Komponens importálása távoli forrásból | Hozzáférés távoli komponensekhez és Komponensek importálása/exportálása |
| Az importált helyi komponens beszúrása egy oldalra | Komponensek beszúrása |
| Komponenseket tartalmazó távoli sablon beszúrása | Hozzáférés távoli sablonokhoz, Sablonok beszúrása, Hozzáférés távoli komponensekhez, Komponensek importálása/exportálása és Komponensek beszúrása |
| Komponenseket tartalmazó távoli sablon mentése a Saját sablonok közé | Hozzáférés távoli sablonokhoz, Sablonok importálása/exportálása, Hozzáférés távoli komponensekhez és Komponensek importálása/exportálása |

Az adminisztrátorok teljes szerkesztői hozzáféréssel rendelkeznek. A többi felhasználónak olyan egyéni szerkesztői jogosultság kell, amely tartalmazza a munkafolyamatukhoz szükséges engedélyeket.

## Hibaelhárítás

### A távoli webhely hiányzik a Forrás listából

- Ellenőrizd, hogy a távoli könyvtár el van-e mentve a **Bricks → Beállítások → Sablonok és komponensek** lapon.
- Ellenőrizd, hogy az aktuális felhasználónak van-e **Hozzáférés távoli komponensekhez** jogosultsága.
- A beállítások mentése után töltsd újra a szerkesztőt.

### A forrás betöltődik, de nincs komponens

- Kapcsold be a **Hozzáférés a saját komponensekhez** kapcsolót a forráswebhelyen.
- Nézd meg, hogy a komponensek nincsenek-e kizárva.
- Ellenőrizd, hogy a célwebhely URL-je pontosan egyezik-e a forrás engedélyezett URL-jeivel az URL normalizálása után.
- Ellenőrizd, hogy a célwebhelyen az aktuális távoli hozzáférési jelszó van-e megadva.
- Ellenőrizd, hogy mindkét webhelyen a Bricks újabb változata fut-e.

### Az importálás szerint a komponens kizárt komponenstől függ

Engedélyezd a beágyazott függőséget a kizárt komponensek között, vagy távolítsd el a beágyazott komponenst a megosztott komponensből. A Bricks nem hoz létre hiányos komponensgráfot.

### A Bricks arra kér, hogy előbb mentsd a módosításokat

Mentsd az aktuális komponens-, osztály-, változó- és színmódosításokat, majd indítsd újra az importálást. Ha másik import módosította a mentett dizájnrendszert, miközben az áttekintés nyitva volt, vizsgáld meg újra a komponenst, hogy friss importtervet kapj.

A helyi komponensek létrehozásáról, tulajdonságairól, változatairól, slotjairól és a példányok viselkedéséről a [Komponensek](https://hub.hellowp.io/hu/plugins/bricks-child/sablonok-komponensek/) fejezet szól. Sablonok webhelyek közti megosztásáról a [Távoli sablonok](https://hub.hellowp.io/hu/plugins/bricks-child/sablonok-tavoli-sablonok/) fejezetben olvashatsz.
