2016-07-19 3 views
0

PHP 함수에서 이미지를 어떻게 표시합니까?PHP 함수에서 이미지를 어떻게 표시합니까?

는 default.htm을

<img id="avatar-image" alt="Jason's Image" src="{{ getAvatarImage() }}" /> 

Component.php이

public function getAvatarImage() 
{ 
    $var = \System\Models\File::select('disk_name')->where('attachment_id', $avatar_id)->first();  

    if (count($var) == 0) return ""; 

    return $var->path; 
} 

가 어떻게 이미지 소스를 얻고 이미지를 표시 할 [업데이트]?

+0

추가'echo' 함수 호출 및 시도는 동안'Jason's Image' –

+0

는 :( – BEX

+0

를 작동하지 않는 경우'avatar_id' (default.htm을에서)에서 오는가? – BeetleJuice

답변

0

먼저, getAvatarImagestatic 방법이 아닙니다. 즉, 호출 할 수 있으려면 인스턴스가 필요합니다. 둘째; Image를 표시하려면 리턴 값을 얻기 위해 다시 반향시켜야합니다. 코드는 다음과 같은 것을 읽고해야합니다

<?php 
    $avatar_id = 10; // JUST A SIMPLE SIMULATION. YOU SHOULD HAVE A WAY TO GET THE ID 
    $obj  = new ClassContainingGetAvatarImageMethod(); 
    $imgURL  = $obj->getAvatarImage($avatar_id); 
?> 

    <img id="avatar-image" alt="Jason's Image" src="<?php echo $imgURL;?>" /> 

또는

<img id="avatar-image" alt="Jason's Image" src="<?php 
    avatar_id = 10; // WHATEVER THE AVATAR_ID MAY BE 
    $obj  = new ClassContainingGetAvatarImageMethod(); 
    echo $obj->getAvatarImage($avatar_id);?>" /> 
1

먼저이 함수가 올바른 파일 경로를 반환하는지 확인하십시오. 나는 이것을 으로 생각할 것입니다.

따라서 구성하려는 항목은 Twig environment 내부의 사용자 지정 함수를 사용하는 것입니다.

이렇게하려면 CMS extending twig에 기능을 등록해야합니다.


STEP 1

플러그인 등록 클래스에서 "기능 명"으로 지정 지정 함수의 어레이를 리턴하는 방법 registerMarkupTags() 만들기.

YourPlugin/Plugin.php

public function registerMarkupTags() { 
    return [ 
    'functions' => [ 
     'getAvatarImage' => [ $this, 'getAvatarImageInternal' ] 
    ] 
    ]; 
} 

2 단계

우리는 $this에 사용자 지정 함수를 참조하고, 그래서 같은 클래스에 메소드를 추가 할 수 있습니다.

YourPlugin/Plugin.php

public function registerMarkupTags() { 
    return [ 
    'functions' => [ 
     'getAvatarImage' => [ $this, 'getAvatarImageInternal' ] 
    ] 
    ]; 
} 

/** 
* Example of registering a Twig function. 
* 
* @return string 
*/ 
public function getAvatarImageInternal() { 
    // Your function body goes here. 
    $path = 'http://app.localhost/storage/image.jpg'; 
    return $path; 
} 

3 단계

이제 사용자 정의 함수를 등록하고 나뭇 가지 환경 내에서 사용할 수 있습니다.

<img src="{{ getAvatarImage() }}" />