Grav-plugin-admin: μ •μ˜λ˜μ§€ μ•Šμ€ 속성 : 1.8.2의 stdClass :: $ image

에 λ§Œλ“  2018λ…„ 05μ›” 28일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: getgrav/grav-plugin-admin

νŽ˜μ΄μ§€ ν…œν”Œλ¦Ώμ— 이미지λ₯Ό μ—…λ‘œλ“œ ν•  λ•Œ Undefined property: stdClass::$image 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 였λ₯˜ ν•Έλ“€λŸ¬λŠ” 특히 adminbasecontroller.php의 722 행을 μ°Έμ‘°

            header.image:
                type: file
                label: Screenshot
                limit: 1
                destination: 'self@'
                multiple: false
                style: vertical
                accept:
                  - image/*

μ΄λ―Έμ§€λŠ” 였λ₯˜μ™€ 상관없이 μ—…λ‘œλ“œλ˜μ§€λ§Œ ν—€λ”λŠ” μ—…λ°μ΄νŠΈλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

1.8.1둜 λ‘€λ°±ν•˜λ©΄ λ‹ΉλΆ„κ°„ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

adminbasecontroller.php의 722 행을 isset() 둜 λ³€κ²½ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

if (isset($obj->header()->{$init_key})) {

λͺ¨λ“  8 λŒ“κΈ€

이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. pagemedia ν•„λ“œλŠ” 이미 νŽ˜μ΄μ§€ 폴더에 μ—…λ‘œλ“œλ©λ‹ˆλ‹€. 파일 ν•„λ“œλŠ” λ‹€λ₯Έ νŽ˜μ΄μ§€κ°€ μ•„λ‹Œ μ²­μ‚¬μ§„μ—μ„œ μ‚¬μš©ν•˜κΈ°μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ 청사진을 ν˜„λͺ…ν•˜κ²Œ λ‹¬μ„±ν•˜λŠ” μ˜¬λ°”λ₯Έ 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

여기도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. Grav 1.4.5 및 Admin 1.8.2둜 μ—…λ°μ΄νŠΈ ν•œ μ΄ν›„λ‘œ 이미지λ₯Ό μ—…λ‘œλ“œ ν•  수 μ—†μ–΄ @superDuperCyberTechno 가보고 ν•œ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒ

λ‚΄ 청사진 발췌 λ‚΄μš©μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

[...]
header.images:
  type: file
  label: Images
  random_name: true
  multiple: true
  limit: 2
  destination: 'assets'
  filesize: 10
  accept:
    - image/*
[...]

이것은 μ§€κΈˆκΉŒμ§€ λ¬Έμ œμ—†μ΄ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. μ—…λ°μ΄νŠΈλ‘œ 인해 μ€‘λ‹¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” λ³€κ²½ μ‚¬ν•­μ΄μžˆλŠ” 경우 μ—…λ°μ΄νŠΈ 전에 ν•΄λ‹Ή 사항을 μ•„λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. λͺ¨λ²” μ‚¬λ‘€κ°€μžˆλŠ” 경우 λ‹€μŒκ³Ό 같은 μ‘λ‹΅μ„λ°›λŠ” 것보닀 κ·Έλ“€ 에 λŒ€ν•΄ μ•„λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. pagemedia ν•„λ“œλŠ” 이미 νŽ˜μ΄μ§€ 폴더에 μ—…λ‘œλ“œλ©λ‹ˆλ‹€. 파일 ν•„λ“œλŠ” λ‹€λ₯Έ νŽ˜μ΄μ§€κ°€ μ•„λ‹Œ μ²­μ‚¬μ§„μ—μ„œ μ‚¬μš©ν•˜κΈ°μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€.

μ΄μœ μ— λŒ€ν•œ 포인터없이. λ‹Ήμ‹œ λ¬Έμ„œμ— 따라 청사진을 λ§Œλ“€μ—ˆκ³  μ œλŒ€λ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. 이것은 λ²„κ·Έμ΄κ±°λ‚˜ λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ μ£Όμš” λ³€κ²½ μ‚¬ν•­μž…λ‹ˆλ‹€.

μ—…λ°μ΄νŠΈ : Admin 1.8.1둜 λ‹€μš΄ κ·Έλ ˆμ΄λ“œν•˜λ©΄μ΄ λ¬Έμ œλ„ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이것은 이것이 1.8.2에 λ„μž… 된 버그 일 κ°€λŠ₯성이 κ°€μž₯ λ†’λ‹€λŠ” 인상을 κ°•ν™”ν•©λ‹ˆλ‹€.

λ˜ν•œμ΄ μ„€μ •μœΌλ‘œ ν•˜λ‚˜μ˜ κ²Œμ‹œλ¬Όμ„ μ‚­μ œν•˜λ©΄ assets ν΄λ”μ˜ λͺ¨λ“  이미지가 μ‚­μ œλœλ‹€λŠ” 사싀을 μ•Œκ²Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이것은 κ΄€λ¦¬μž μΈν„°νŽ˜μ΄μŠ€ λ‚΄λΆ€ μž‘λ™μ—μ„œ λ‹€μ†Œ 큰 λ²„κ·Έλ‘œ 보이며 μ˜€λŠ˜λ‚  λ§Žμ€ μ’Œμ ˆκ°μ„ 뢈러 μΌμœΌμΌ°μŠ΅λ‹ˆλ‹€.

이 ν•„λ“œκ°€ μ‹€μ œλ‘œ νŽ˜μ΄μ§€ λ―Έλ””μ–΄ 선택기λ₯Ό λŒ€μ²΄ν•˜κΈ°μœ„ν•œ 것이 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— 이것이 μ£Όμš” λ³€κ²½ μ‚¬ν•­μ΄λΌλŠ” 것을 μΈμ‹ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. 이제 νŽ˜μ΄μ§€ λ―Έλ””μ–΄ 선택기와 ν•¨κ»˜ 파일 ν•„λ“œλ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒλ“€μ— λŒ€ν•œ λͺ‡ 가지 λ³΄κ³ μ„œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ‘°μ‚¬ν•˜κ³  해결책을 찾을 κ²ƒμž…λ‹ˆλ‹€. μ΄λ ‡κ²Œλ˜μ–΄ λ―Έμ•ˆν•©λ‹ˆλ‹€!

참고둜 ꢌμž₯λ˜λŠ” μ ‘κ·Ό 방식은 ν‘œμ€€ pagemedia ν•„λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 이미지λ₯Ό νŽ˜μ΄μ§€μ— μ—…λ‘œλ“œν•˜κ³  파일 선택기λ₯Ό μ‚¬μš©ν•˜μ—¬ νŠΉμ • 헀더 λ³€μˆ˜μ— λŒ€ν•΄ 이미지λ₯Ό μ„ νƒν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

참고둜 ꢌμž₯λ˜λŠ” μ ‘κ·Ό 방식은 ν‘œμ€€ pagemedia ν•„λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 이미지λ₯Ό νŽ˜μ΄μ§€μ— μ—…λ‘œλ“œν•˜κ³  파일 선택기λ₯Ό μ‚¬μš©ν•˜μ—¬ νŠΉμ • 헀더 λ³€μˆ˜μ— λŒ€ν•΄ 이미지λ₯Ό μ„ νƒν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

이 ꢌμž₯ μ ‘κ·Ό 방식은 μ €μ—κ²Œ 반 직관적이라고 μƒκ°ν•©λ‹ˆλ‹€. 파일 / 이미지λ₯Ό ν•„λ“œμ— μ—…λ‘œλ“œν•˜κ³  ν• λ‹Ήν•˜λŠ” μž‘μ—…μ€ 두 번이 μ•„λ‹ˆλΌ ν•˜λ‚˜μ˜ μž‘μ—…μ΄μ–΄μ•Όν•©λ‹ˆλ‹€. μ‚¬μš©μžμ—κ²Œ 두 λ‹¨κ³„λ‘œ μˆ˜ν–‰ν•˜λ„λ‘ κ΅μœ‘ν•˜λŠ” 것은 μ‹€λ§μŠ€λŸ½κ³  ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ–΄μ¨Œλ“  쑰사해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

adminbasecontroller.php의 722 행을 isset() 둜 λ³€κ²½ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

if (isset($obj->header()->{$init_key})) {

이 λ¬Έμ œλŠ” Admin 1.8.3μ—μ„œ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰