it-swarm-ko.tech

어휘 ID ($ vid)는 어디에서 찾을 수 있습니까?

Drupal 6) 내/admin의 분류 섹션으로 이동하여 URL에서 $ vid (숫자)를 찾을 수 있습니다.

Drupal 7 (실제로 용어가 도입되어 의심의 여지가 없음))에서 URL은 더 이상 기계 이름 (번들 이름?)을 표시하므로 더 장황하지 않습니다 (일부는 깨끗하다고 ​​말합니다). admin/structure/taxonomy/my_vocabulary/edit에서 볼 수있는 어휘.

내 최종 게임은 taxonomy_get_tree ($ vid, $ parent, $ max_depth, $ load_entities) 을 사용하여 어휘를로드하고 영광스럽고 풍부한 방법으로 작업하는 것이지만 아쉽게도이 기능은 허용하지 않습니다 machine_name이지만 숫자 $vid를 선호합니다.

전체 vocab 트리 (즉, 모든 용어와 서로의 관계)를로드 할 수있는 대안을 채택 할 것이지만,이 질문은 다음 세대에 Google에 직접 대답해야한다고 생각합니다.

23
electblake

실제로 다음을 사용할 수 있습니다.

$vocab = taxonomy_vocabulary_machine_name_load('my_vocabulary');
$vid = $vocab->vid;
33
Manu

Manu 다음에 명령 행 Drush 액세스 권한이 있으면 다음을 수행 할 수 있습니다.

drush php-eval '$ tax = taxonomy_vocabulary_machine_name_load ( "main_site_structure"); echo $ tax-> vid;'
10
Robin van Emden

수동으로 {taxonomy_vocabulary} 데이터베이스에서 테이블을 찾은 다음 vid 열을 확인하십시오.

1
sumaiya

D7에서

어휘 ID (vid) 만 있으면되고 컴퓨터 이름을 알고 있다면 다음을 사용할 수 있습니다.

$query = db_select('taxonomy_vocabulary', 'tv');
$query->fields('tv', array('vid'));
$query->condition('tv.machine_name', __VOCAB_MACHINE_NAME, '=');
$result = $query->execute();
$data = $result->fetchAssoc();
$vid = $data['vid'];

작은 성능 향상 : ~ 0.0036489963531494 초 ~ ~ 0.00030779838562012 초.

물론 이것은 필요에 따라 조정될 수 있습니다. 당신이 가진 정보로 조건을 변경하십시오.

1
ryanka

이것은 bojan 언급으로 엔티티 필드 쿼리를 사용하여로드하는 것입니다.

$query = new entityFieldQuery();
$result = $query
  ->entityCondition('entity_type', 'taxonomy_vocabulary')
  ->propertyCondition('machine_name', 'my_vocabulary')
  ->execute();

if (empty($result['taxonomy_vocabulary'])) {
  return;
}

$vocabularies = taxonomy_vocabulary_load_multiple(array_keys($result['taxonomy_vocabulary']));
dpm($vocabularies);
0
Roy Segall

이것은 Drush를 통해 모든 어휘 ID 목록을 보는 가장 빠른 방법이었습니다.

  1. Drush 명령 으로 데이터베이스에 연결하십시오.
    drush sqlc
  2. Mysql 프롬프트에서 를 입력하십시오.
    taxonomy_vocabulary에서 *를 선택하십시오.
0
peezy